Link to home
Start Free TrialLog in
Avatar of Carolinat
Carolinat

asked on

DetailsView validation fields

Hi,
I create a detailsview to insert data in a table but I don't know how to validate each field that is typed in the page before sending the information to the database.
Avatar of whityum
whityum

convert the boundfields to template fields and add validators

e.g.
instead of
<asp:BoundField DataField="eventTitle" HeaderText="Title" SortExpression="eventTitle" HtmlEncode="false" />


use
                                          <asp:TemplateField HeaderText="Title">
                                                <ItemTemplate>
                                                      <%# Eval("eventTitle") %>
                                                </ItemTemplate>
                                                <EditItemTemplate>
                                                      <asp:RequiredFieldValidator ControlToValidate="txtEventTitle" ID="RequiredFieldValidator1" runat="server" Text="You must enter a title<br>"></asp:RequiredFieldValidator>
                                                      <asp:TextBox ID="txtEventTitle" MaxLength="50" runat="server" Text='<%# Eval("eventTitle") %>'></asp:TextBox>
                                                </EditItemTemplate>
                                          </asp:TemplateField>
and for the parameters
                  <asp:ControlParameter ControlID="dvEventDetails$txtEventTitle" Name="eventTitle" />
Avatar of Carolinat

ASKER

Thanks, It worked but the insert link doesn't do anything. What code do I have to add?
Do you have an insert command and insert parameters on your SqlDataSource?  When you say doesn't do anything, do you mean the page doesn't change, or that no form is displayed?  Is there a JavaScript error?
I'm using a Detailsview to create an insert form. Now, I can validate some fields that can't be nulls but when I fill out all of the fields and then click in Insert link it showed me a page with the following error and I don't know why the insert doesn't take the values I'm typing in the form.

Cannot insert the value NULL into column 'BoxNum', table 'Venus.dbo.Boxes'; column does not allow nulls. INSERT fails.
The statement has been terminated.
ASKER CERTIFIED SOLUTION
Avatar of whityum
whityum

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
I have this

            <InsertParameters>
                <asp:Parameter Name="BoxNum" Type="Int64" />
                <asp:Parameter Name="Status" Type="String" />
                <asp:Parameter Name="DateClose" Type="DateTime" />
                <asp:Parameter Name="DateOpen" Type="DateTime" />
                <asp:Parameter Name="User" Type="String" DefaultValue="CAROLINA" />
            </InsertParameters>
but still shows me the same error.
What should I write in--> Name="eventTitle" ?
Thanks, it works perfect.