tech_question
asked on
how to separate validations of the grid and the page ?
I have a radgrid and an aspx page, there are validations on the page and separate validations on the radgrid. when a user clicks an Insert or Update (on the popup of an add or edit record) on the radgrid , I want only the radgrid validations to fire not the page. how can I do this ?
<table width="300px" cellpadding="2px">
<tr>
<td align="right" style="width: 306px" rowspan="2">
Comments
<asp:RegularExpressionValidator ID="rev1" runat="server" ControlToValidate="txtSpecialInstructions"
ErrorMessage="Please limit comments to 240 characters or less." ValidationExpression="[\s\S]{0,240}">*</asp:RegularExpressionValidator>
</td>
</tr>
</table>
<!-- radGrid -->
<telerik:RadGrid ID="gridInvLines" AllowPaging="False" Skin="Office2007"
runat="server" AutoGenerateColumns="False" DataSourceID="odsInvLines"
GridLines="None" OnItemCommand="gridInvLines_ItemCommand" OnItemDataBound="gridInvLines_ItemDataBound" ShowFooter="True">
<ClientSettings >
<ClientEvents OnPopUpShowing="PopUpShowing" />
</ClientSettings>
<MasterTableView DataKeyNames="LINE_NUMBER" DataSourceID="odsInvLines" EditMode="PopUp" InsertItemDisplay="Top" AllowAutomaticInserts="true" AllowAutomaticUpdates="true" AllowAutomaticDeletes="true" CommandItemDisplay="Top" CommandItemSettings-AddNewRecordText="Add New Line">
<Columns>
<telerik:GridTemplateColumn HeaderText="Line Description" HeaderStyle-HorizontalAlign="center" >
<HeaderStyle width="150px" />
<ItemStyle Width="150px" HorizontalAlign="left" />
<ItemTemplate>
<asp:Label ID="Label1" runat="server" Text='<%# DataBinder.Eval(Container.DataItem, "DESCRIPTION") %>' >
</asp:Label>
</ItemTemplate>
<EditItemTemplate>
<asp:RequiredFieldValidator ID="rfvLineDesc" ControlToValidate="txtLineDesc"
ErrorMessage="Please enter the Line Description" runat="server" Display="None">*</asp:RequiredFieldValidator>
<asp:RegularExpressionValidator ID="RegularExpressionValidator1" runat="server" Display="None" ControlToValidate="txtLineDesc"
ErrorMessage="Please limit Line Description to 240 characters or less." ValidationExpression="[\s\S]{1,240}">*</asp:RegularExpressionValidator>
<asp:TextBox ID="txtLineDesc" runat="server" TextMode="MultiLine" Rows="4" Text='<%# Bind("DESCRIPTION") %>' />
</EditItemTemplate>
</telerik:GridTemplateColumn>
</Columns>
<EditFormSettings EditColumn-UpdateText="Save" CaptionFormatString="Invoice Line Information" ColumnNumber="2">
<FormTableItemStyle Wrap="False" Width="100%"></FormTableItemStyle>
<FormCaptionStyle CssClass="EditFormHeader" Width="100%"></FormCaptionStyle>
<FormMainTableStyle GridLines="Horizontal" CellSpacing="0" CellPadding="3" BackColor="White"
Width="100%" />
<FormTableStyle CellSpacing="0" CellPadding="2" CssClass="module" Height="110px"
BackColor="White" />
<FormTableAlternatingItemStyle Wrap="False"></FormTableAlternatingItemStyle>
<PopUpSettings Modal="true" Width="600" />
</EditFormSettings>
</MasterTableView>
<ValidationSettings CommandsToValidate="PerformInsert,Update" />
</telerik:RadGrid>
Does the radgrid have a validationgroup property that you can set on the grid and on the insert and update buttons?
ASKER
yes I believe there is. I did this and now I do not see the validation at all. do I need to mention the group ? Can you please provide an example as to how to do this ?
<ValidationSettings CommandsToValidate="PerformInsert,Update" ValidationGroup="gridGroup" />
<asp:RequiredFieldValidator ID="rfvLineDesc" ControlToValidate="txtLineDesc"
ErrorMessage="Please enter the Line Description" runat="server" ValidationGroup="gridGroup" Display="None">*</asp:RequiredFieldValidator>
Just a hint.
Don't forget to put the validations on the page also in a (different) validationgroup.
Don't forget to put the validations on the page also in a (different) validationgroup.
ASKER CERTIFIED SOLUTION
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.