Sunday, March 11, 2012

Validators in Detail View

Can you please clarify what you mean by "my Insert/Edit Button is not activated when trying to insert record"? Do you mean that even though there are valid values in the fields, clicking Insert or Edit doesnotcause a postback?

Do you have other validators on the web page that might be what is holding up the validation from preceding? If so, you'll need to partition the validation controls on the page into separate groups. You can do this via theValidationGroup property, and you'll need to set it to the same value for both the validation controls in the DetailsView and for the DetailsView's CommandField. SeeDissecting the Validation Controls in ASP.NET 2.0 for a more thorough look at this property and how to use it.

Happy Programming!


Thank you for your Response,

On detail view I have Insert/Edit Button which will Insert/update record into DB.

(<asp:CommandFieldShowInsertButton="True"ShowEditButton="True"/> )

I have fields as Vendor_Name, Stock_Nbr ... When Detail View is in Edit/Insert mode, I am trying to use Required Field Validator to validate user's input. Even If I have data in Textbox Postback is not happening. I have tried to use Group Name also. If I delete Validators for those controls Post Back is happening and Record is inserting/Updating fine.

<asp:DetailsViewID="dvVendor_EDT"runat="server"Height="50px"Width="158px"CssClass="CSSDG"AutoGenerateRows="False"DataKeyNames="Vendor_Ndx"DataSourceID="SqlDSVendors_DetailView"

CellPadding="4"ForeColor="#333333"GridLines="None"DefaultMode="Insert">

<Fields>

<asp:BoundFieldDataField="Vendor_Ndx"HeaderText="Vendor Ndx"InsertVisible="False"

ReadOnly="True"SortExpression="Vendor_Ndx"/>

<asp:TemplateFieldHeaderText="Vendor_Name"SortExpression="Vendor_Name">

<ItemTemplate>

<asp:LabelID="lblVendor_Name"Text='<%# Eval("Vendor_Name") %>'runat="server"/>

</ItemTemplate>

<EditItemTemplate>

<asp:TextBoxID="txtVendor_Name"Text='<%# Bind("Vendor_Name") %>'runat="server"ValidationGroup="Vendor_Name"/>

<asp:RequiredFieldValidatorId="rfvVendor_Name"runat="server"ControlToValidate="txtVendor_Name"Display="dynamic"ErrorMessage="Not be Empty"ValidationGroup="Vendor_Name">*</asp:RequiredFieldValidator>

</EditItemTemplate>

<InsertItemTemplate>

<asp:TextBoxID="txtVendor_Name"Text='<%# Bind("Vendor_Name") %>'runat="server"/>

<asp:RequiredFieldValidatorId="rfvVendor_Name"runat="server"ControlToValidate="txtVendor_Name"Display="dynamic"ErrorMessage="Not be Empty">*</asp:RequiredFieldValidator>

</InsertItemTemplate>

</asp:TemplateField>

<asp:TemplateFieldHeaderText="Stock_Nbr"SortExpression="Stock_Nbr">

<ItemTemplate>

<asp:LabelID="lblStock_Nbr"Text='<%# Eval("Stock_Nbr") %>'runat="server"/>

</ItemTemplate>

<EditItemTemplate>

<asp:TextBoxID="txtStock_Nbr"Text='<%# Bind("Stock_Nbr") %>'runat="server"/>

</EditItemTemplate>

<InsertItemTemplate>

<asp:TextBoxID="txtStock_Nbr"Text='<%# Bind("Stock_Nbr") %>'runat="server"/>

</InsertItemTemplate>

</asp:TemplateField>

<asp:TemplateFieldHeaderText="Cost"SortExpression="Cost">

<ItemTemplate>

<asp:LabelID="lblCost"Text='<%# Eval("Cost") %>'runat="server"/>

</ItemTemplate>

<EditItemTemplate>

<asp:TextBoxID="txtCost"Text='<%# Bind("Cost") %>'runat="server"/>

</EditItemTemplate>

<InsertItemTemplate>

<asp:TextBoxID="txtCost"Text='<%# Bind("Cost") %>'runat="server"/>

</InsertItemTemplate>

</asp:TemplateField>

<asp:CommandFieldShowInsertButton="True"ShowEditButton="True"/>

</Fields>

<FooterStyleBackColor="#5D7B9D"Font-Bold="True"ForeColor="White"/>

<CommandRowStyleBackColor="#E2DED6"Font-Bold="True"/>

<EditRowStyleBackColor="#999999"/>

<RowStyleBackColor="#F7F6F3"ForeColor="#333333"/>

<PagerStyleBackColor="#284775"ForeColor="White"HorizontalAlign="Center"/>

<FieldHeaderStyleBackColor="#E9ECF1"Font-Bold="True"/>

<HeaderStyleBackColor="#5D7B9D"Font-Bold="True"ForeColor="White"/>

<AlternatingRowStyleBackColor="White"ForeColor="#284775"/>

</asp:DetailsView>

No comments:

Post a Comment