From: Eric C. <ecr...@us...> - 2006-09-25 19:14:32
|
User: ecrutchfield Date: 06/09/25 12:14:29 Modified: andromda-aspdotnet/src/main/resources/templates/aspdotnet/web2005 webform.aspx.vsl andromda-aspdotnet/src/main/resources/templates/aspdotnet/web2003 webform.aspx.vsl Log: add support for validator controls Revision Changes Path 1.2 +28 -29 cartridges/andromda-aspdotnet/src/main/resources/templates/aspdotnet/web2005/webform.aspx.vsl Index: webform.aspx.vsl =================================================================== RCS file: /cvsroot/andromdaplugins/cartridges/andromda-aspdotnet/src/main/resources/templates/aspdotnet/web2005/webform.aspx.vsl,v retrieving revision 1.1 retrieving revision 1.2 diff -u -w -r1.1 -r1.2 --- webform.aspx.vsl 17 Sep 2006 17:30:41 -0000 1.1 +++ webform.aspx.vsl 25 Sep 2006 19:14:29 -0000 1.2 @@ -1,11 +1,3 @@ -## -## This macro renders the CommandArgument parameter for a command link -## -#macro ( renderTableCommandArgumentParameters ) -#foreach( $parameter in $action.parameters )#if($velocityCount>1) + #end DataBinder.Eval("DataItem.${parameter.name}","#if($velocityCount>1),#end${parameter.name}={0}")#end -#end -## -## #set($generatedFile = "${webform.fullyQualifiedPath}/${webform.normalizedName}.aspx") #set($key = "${webform.useCase.normalizedName}_${webform.normalizedName}") <%@ Page Language="C#" AutoEventWireup="true" CodeFile="~/src/main/${webform.fullyQualifiedPath}/${webform.normalizedName}.cs" CodeFileBaseClass="${webform.packageName}.${webform.normalizedName}Base" Inherits="${webform.packageName}.${webform.normalizedName}" MasterPageFile="~/Default.master" Title="${webform.name}"%> @@ -17,47 +9,54 @@ <asp:Content ID="Content1" ContentPlaceHolderID="ContentPlaceHolder" Runat="Server"> <div id="content"> #foreach($action in ${webform.outgoing}) +#foreach($parameter in ${action.parameters}) +#if(${parameter.inputHidden}) + <asp:HiddenField ID="$stringUtils.lowerCamelCaseName(${action.name})_${parameter.name}Hidden" runat="server" /> +#end +#end #if(!$action.hyperlink) <div class="action"> <table id="${action.name}Table" cellspacing="0" cellpadding="1" width="100%" border="0"> #foreach($parameter in ${action.parameters}) -#if(!${parameter.isHidden()}) +#if(!${parameter.inputHidden}) #set($type = ${parameter.getViewType()}) <tr> <td> - <asp:label id="$stringUtils.lowerCamelCaseName(${action.name})_${parameter.name}lbl" runat="server" Text="<%$ Resources:GeneratedResources, ${key}_${parameter.name}lbl %>"></asp:label></td> + <asp:label id="$stringUtils.lowerCamelCaseName(${action.name})_${parameter.name}lbl" runat="server" Text="<%$ Resources:GeneratedResources, ${key}_${parameter.name}lbl %>"></asp:label>#if(${parameter.required})<span style="color:Red"> *</span>#end + </td> <td> #if($type.equals('file')) <asp:FileUpload ID="${parameter.name}FileSelector" runat="server" /></td> #else - <asp:$type id="$stringUtils.lowerCamelCaseName(${action.name})_${parameter.name}$type" ToolTip="<%$ Resources:GeneratedResources, ${key}_${parameter.name}_${parameter.getViewType()}_Help %>" - #if(${parameter.isCalendar()})ReadOnly="True" #end#if(${parameter.isReadOnly()})ReadOnly="True" #end #if(${parameter.isTextarea()})TextMode="MultiLine" #end #if(${parameter.isPassword()})TextMode="Password" #end + <asp:$type id="$stringUtils.lowerCamelCaseName(${action.name})_${parameter.name}$type" ToolTip="<%$ Resources:GeneratedResources, ${key}_${parameter.name}_${type}_Help %>" + #if(${parameter.isCalendar()})ReadOnly="True" #end#if(${parameter.isReadOnly()})ReadOnly="True" #end #if(${parameter.inputTextarea})TextMode="MultiLine" #if($parameter.fieldColumnCount)Columns=${parameter.fieldColumnCount} #end #if($parameter.fieldRowCount)Rows=${parameter.fieldRowCount} #end#end #if(${parameter.inputPassword})TextMode="Password" #end #if($type.equalsIgnoreCase('ListBox'))SelectionMode=Multiple #end#if($type.equals('RadioButton')) GroupName="${parameter.getRadioButtonGroup()}" #end runat="server"></asp:$type> -#if(${parameter.isMandatoryField()}) +#if(${parameter.required}) #if(!$type.equalsIgnoreCase("checkbox")) - <asp:RequiredFieldValidator id="${parameter.name}RF" runat="server" ErrorMessage="*" ControlToValidate="$stringUtils.lowerCamelCaseName(${action.name})_${parameter.name}TextBox"></asp:RequiredFieldValidator> + <asp:RequiredFieldValidator id="${parameter.name}RF" runat="server" ErrorMessage="You must specify a value for this field." ControlToValidate="$stringUtils.lowerCamelCaseName(${action.name})_${parameter.name}TextBox"></asp:RequiredFieldValidator> #end #end #if(${parameter.isCalendar()}) <asp:Calendar ID="${parameter.name}Calendar" runat="server" ></asp:Calendar> #end - </td> -#if($type.equals('TextBox')) -#if(!${parameter.isCalendar()}) -#if(${parameter.isValidator()}) - <asp:RegularExpressionValidator id="${parameter.name}REV" runat="server" ErrorMessage="Warning: type of the field ''${parameter.name}'' is not ${parameter.getComparatorType()}!" ValidationExpression="${parameter.getValidator()}"></asp:RegularExpressionValidator> +#end +#if ($parameter.validationRequired) +#if (!$parameter.complex) +#renderValidationControl($parameter "") #else - <asp:CompareValidator id="${parameter.name}CV" runat="server" ErrorMessage="Warning: type of the field ''${parameter.name}'' is not ${parameter.getComparatorType()}!" Operator="DataTypeCheck" Type="${parameter.getComparatorType()}" Display="Dynamic" ControlToValidate="$stringUtils.lowerCamelCaseName(${action.name})_${parameter.name}TextBox"></asp:CompareValidator> +#foreach ($attribute in $parameter.attributes) +#if ($attribute.validationRequired) +#renderValidationControl($attribute $parameter) #end #end #end #end + </td> </tr> #end #end <tr> <td> -##@todo Add resource assignment to this button <asp:button CssClass="body1" OnClick="${action.actionMethodName}Button_Click" id="${action.actionMethodName}Button" runat="server" Text="<%$ Resources:GeneratedResources, ${key}_${action.actionMethodName}Button%>" #if(${action.parameters.empty}) CausesValidation="False"#end ForeColor=MidnightBlue Style="background: url(${webform.getLayoutPath()}button.JPG) repeat;"></asp:button></td> <td></td> </tr> @@ -72,7 +71,7 @@ <tr> <td> <asp:GridView id="${table.name}DG" runat="server" AutoGenerateColumns="False" AllowPaging="True" AllowSorting="True" - OnPageIndexChanging="$stringUtils.capitalize(${table.name})DG_Page" + OnPageIndexChanging="$stringUtils.capitalize(${table.name})DG_Page" OnRowCommand="$stringUtils.capitalize(${table.name})_RowCommand" OnSelectedIndexChanged="$stringUtils.capitalize(${table.name})DG_SelectedIndexChanged" OnSorting="$stringUtils.capitalize(${table.name})DG_SortCommand"> <AlternatingRowStyle BackColor="Lavender"></AlternatingRowStyle> <HeaderStyle Font-Bold="True" HorizontalAlign="Center" VerticalAlign="Middle" BackColor="#e8e2b6"></HeaderStyle> @@ -93,13 +92,13 @@ <HeaderTemplate><asp:Literal runat="server" Text="<%$ Resources:GeneratedResources, ${key}_${table.name}DG_$columnName %>"></asp:Literal></HeaderTemplate> <ItemTemplate> <asp:LinkButton ID="${action.tableLinkColumnName}Link" Runat="server" - CommandArgument='<%# #renderTableCommandArgumentParameters() %>' CommandName="${action.triggerName}" Text='<%# Eval("DataItem.${action.tableLinkColumnName}")%>'></asp:LinkButton></ItemTemplate> + CommandArgument='<%# #render2005TableCommandArgumentParameters() %>' CommandName="${action.triggerName}" Text='<%# Eval("${action.tableLinkColumnName}")%>'></asp:LinkButton></ItemTemplate> </asp:TemplateField> #end #end #end #foreach ($action in $table.tableFormActions) - <asp:ButtonField ButtonType=Link Text="<%$ Resources:GeneratedResources, ${key}_${table.name}DG_$columnName %>" SortExpression="${stringUtils.capitalise($action.triggerName)}" /> + <asp:TemplateField><ItemTemplate><asp:Button ID="${stringUtils.capitalise($action.triggerName)}" Text="<%$ Resources:GeneratedResources, ${key}_${stringUtils.capitalise($action.actionMethodName)}Button %>" CommandName="${action.triggerName}" CommandArgument='<%# #render2005TableCommandArgumentParameters() %>' runat="server" /></ItemTemplate></asp:TemplateField> #end </Columns> <PagerSettings Mode=NumericFirstLast /> 1.2 +19 -20 cartridges/andromda-aspdotnet/src/main/resources/templates/aspdotnet/web2003/webform.aspx.vsl Index: webform.aspx.vsl =================================================================== RCS file: /cvsroot/andromdaplugins/cartridges/andromda-aspdotnet/src/main/resources/templates/aspdotnet/web2003/webform.aspx.vsl,v retrieving revision 1.1 retrieving revision 1.2 diff -u -w -r1.1 -r1.2 --- webform.aspx.vsl 17 Sep 2006 17:30:45 -0000 1.1 +++ webform.aspx.vsl 25 Sep 2006 19:14:29 -0000 1.2 @@ -1,11 +1,3 @@ -## -## This macro renders the CommandArgument parameter for a command link -## -#macro ( renderTableCommandArgumentParameters ) -#foreach( $parameter in $action.parameters )#if($velocityCount>1) + #end DataBinder.Eval(Container,"DataItem.${parameter.name}","#if($velocityCount>1),#end${parameter.name}={0}")#end -#end -## -## #set($generatedFile = "${webform.fullyQualifiedPath}/${webform.normalizedName}.aspx") <%@ Page language="c#" AutoEventWireup="false" Inherits="${webform.packageName}.${webform.normalizedName}"%> <%@ Register TagPrefix="menuUserControl" TagName="menu" Src="~/target/src/Common/Menu.ascx" %> @@ -34,23 +26,28 @@ <asp:Literal ID="${webform.normalizedName}Page" runat="server">${webform.name}</asp:Literal> </h4> #foreach($action in ${webform.outgoing}) +#foreach($parameter in ${action.parameters}) +#if(${parameter.inputHidden}) + <INPUT type="hidden" runat="server" id="$stringUtils.lowerCamelCaseName(${action.name})_${parameter.name}Hidden" /> +#end +#end #if(!$action.hyperlink) <div class="action"> <table id="${action.name}Table" cellspacing="0" cellpadding="1" width="100%" border="0"> #foreach($parameter in ${action.parameters}) -#if(!${parameter.isHidden()}) +#if(!${parameter.inputHidden}) #set($viewType = ${parameter.getViewType()}) <tr> <td> - <asp:label id="$stringUtils.lowerCamelCaseName(${action.name})_${parameter.name}lbl" runat="server">${parameter.name}</asp:label></td> + <asp:label id="$stringUtils.lowerCamelCaseName(${action.name})_${parameter.name}lbl" runat="server">${parameter.name}</asp:label>#if(${parameter.required})<span style="color:Red"> *</span>#end</td> <td> #if(${viewType.equals('file')}) <INPUT id="${parameter.name}FileSelector" type="file" name="${parameter.name}FileSelector" RUNAT="server"></td> #else <asp:${viewType} id="$stringUtils.lowerCamelCaseName(${action.name})_${parameter.name}${viewType}" - #if(${parameter.isCalendar()})ReadOnly="True"#end #if(${parameter.isReadOnly()})ReadOnly="True"#end #if(${parameter.isTextarea()})TextMode="MultiLine"#end #if(${parameter.isPassword()})TextMode="Password" #end + #if(${parameter.isCalendar()})ReadOnly="True"#end #if(${parameter.isReadOnly()})ReadOnly="True"#end #if(${parameter.inputTextarea})TextMode="MultiLine"#if($parameter.fieldColumnCount)Columns=${parameter.fieldColumnCount} #end #if($parameter.fieldRowCount)Rows=${parameter.fieldRowCount} #end#end #if(${parameter.inputPassword})TextMode="Password" #end #if(${viewType.equals('ListBox')})SelectionMode=Multiple #end#if(${viewType.equals('RadioButton')}) GroupName="${parameter.getRadioButtonGroup()}" #end runat="server"></asp:${viewType}> -#if(${parameter.isMandatoryField()}) +#if(${parameter.required}) #if(!$viewType.equalsIgnoreCase("checkbox")) <asp:RequiredFieldValidator id="${parameter.name}RF" runat="server" ErrorMessage="*" ControlToValidate="$stringUtils.lowerCamelCaseName(${action.name})_${parameter.name}TextBox"></asp:RequiredFieldValidator> #end @@ -59,20 +56,22 @@ <obout:Calendar runat="server" ScriptPath="/${webAssemblyName}/calendar" StyleFolder="/${webAssemblyName}/calendar" DatePickerMode="true" TextBoxId="${parameter.name}${viewType}" DateFormat="DD/MM/yyyy" id="${parameter.name}Calendar" DoubleCalendarMode = "false" DatePickerButtonText="<img src='/${webAssemblyName}/calendar/calendar.gif'>"/> #end - </td> -#if(${viewType.equals('TextBox')}) -#if(!${parameter.isCalendar()}) -#if(${parameter.isValidator()}) - <asp:RegularExpressionValidator id="${parameter.name}REV" runat="server" ErrorMessage="Warning: type of the field ''${parameter.name}'' is not ${parameter.getComparatorType()}!" ValidationExpression="${parameter.getValidator()}"></asp:RegularExpressionValidator> +#if ($parameter.validationRequired) +#if (!$parameter.complex) +#renderValidationControl($parameter "") #else - <asp:CompareValidator id="${parameter.name}CV" runat="server" ErrorMessage="Warning: type of the field ''${parameter.name}'' is not ${parameter.getComparatorType()}!" Operator="DataTypeCheck" Type="${parameter.getComparatorType()}" Display="Dynamic" ControlToValidate="$stringUtils.lowerCamelCaseName(${action.name})_${parameter.name}TextBox"></asp:CompareValidator> +#foreach ($attribute in $parameter.attributes) +#if ($attribute.validationRequired) +#renderValidationControl($attribute $parameter) #end #end #end #end + </td> </tr> #end #end +#end <tr> <td> <asp:button CssClass="body1" id="${action.actionMethodName}Button" runat="server" @@ -111,13 +110,13 @@ <HeaderTemplate>$stringUtils.capitalize(${action.tableLinkColumnName})</HeaderTemplate> <ItemTemplate> <asp:LinkButton ID="${action.tableLinkColumnName}Link" Runat="server" - CommandArgument='<%# #renderTableCommandArgumentParameters() %>' CommandName="${action.triggerName}"><%# DataBinder.Eval(Container,"DataItem.${action.tableLinkColumnName}")%></asp:LinkButton></ItemTemplate> + CommandArgument='<%# #render2003TableCommandArgumentParameters() %>' CommandName="${action.triggerName}"><%# DataBinder.Eval(Container,"DataItem.${action.tableLinkColumnName}")%></asp:LinkButton></ItemTemplate> </asp:TemplateColumn> #end #end #end #foreach ($action in $table.tableFormActions) - <asp:TemplateColumn><ItemTemplate><asp:Button CommandName="${action.triggerName}" CommandArgument='<%# #renderTableCommandArgumentParameters() %>' Runat="server" ID="${action.triggerName}Btn" Text="$stringUtils.capitalise(${action.name})"></asp:Button></ItemTemplate></asp:TemplateColumn> + <asp:TemplateColumn><ItemTemplate><asp:Button CommandName="${action.triggerName}" CommandArgument='<%# #render2003TableCommandArgumentParameters() %>' Runat="server" ID="${action.triggerName}Btn" Text="$stringUtils.capitalise(${action.name})"></asp:Button></ItemTemplate></asp:TemplateColumn> #end </Columns> <PagerStyle Mode="NumericPages"></PagerStyle> |