RequiredFieldValidator ne fonctionne pas dans asp.net.

la programmation


salut les amis .. j’ai un problème dans asp.net s’il vous plaît aidez-moi ..

Je suis en train de développer une page d’inscription. En ce sens, lorsque je soumets les données, les données ont été insérées dans la base de données, même les valeurs nulles également. Mais je suis défini que les valeurs nulles ne sont pas autorisées dans la base de données. Et j’ajoute également les validations. mais ceux-ci ne fonctionnent pas correctement .. s’il vous plaît, aidez-moi ..

mon code est :

C#
protected void btn_r_submit_Click(object sender, EventArgs e)
    {

               con.Open();
        string strid = "select count(*) from tbl_user_register";
        SqlCommand cmdid = new SqlCommand(strid, con);
        int count = Convert.ToInt16(cmdid.ExecuteScalar()) + 1;
        string struserid = count.ToString();
        

        string strquery = "insert into tbl_user_register values('"+struserid+"','" + txt_fname.Text + "','" + txt_dob.Text + "','" + txt_r_loginid.Text + "','" + txt_r_pwd.Text + "','" + txt_r_confirmpwd + "','" + txt_r_email.Text + "','" + txt_r_mobile.Text + "')";

        SqlCommand cmdregister = new SqlCommand(strquery, con);
        if (cmdregister.ExecuteNonQuery()>0)
        {

            Response.Write("<Script>alert('Successfully Registered in GVK Academy..')</Script>");         
      
            con.Close();
        }

        else
        {
            try
            {

                con.Open();
            }
            catch (Exception ex)
            {
                Response.Write(ex.Message);
                //return false;

                con.Close();
            }
        }

le code de ma page de conception est :

ASP.NET
<div id="div_signup">
                      <div id="div_sigbg">
                          <table class="auto-style1">
                              <tr>
                                  <td colspan="2">&nbsp;</td>
                              </tr>
                              <tr>
                                  <td colspan="2" style="background-color: #006699; color: #FFFFFF; text-align: center; font-weight: bold; height:30px; font-size: 25px; font-family: 'Courier New', Courier, monospace;">Student Registration</td>
                              </tr>
                              <tr>
                                  <td class="td_regist">Full Name :</td>
                                  <td class="auto-style4">
                                      <asp:TextBox ID="txt_fname" CssClass="txt_register" runat="server"></asp:TextBox>
                                      <asp:RequiredFieldValidator ID="RequiredFieldValidator1" SetFocusOnError="true" ControlToValidate="txt_fname" ValidationGroup="register" runat="server" ErrorMessage="*" ForeColor="#ff0000" Font-Bold="true"></asp:RequiredFieldValidator>
                                  </td>
                              </tr>
                              <tr>
                                  <td class="td_regist">Date Of Birth :</td>
                                  <td>
                                      <asp:TextBox ID="txt_dob" CssClass="txt_register" TextMode="Date" runat="server"></asp:TextBox>
                                      <asp:RequiredFieldValidator ID="RequiredFieldValidator2" SetFocusOnError="true" ControlToValidate="txt_dob" ValidationGroup="register" runat="server" ErrorMessage="*" ForeColor="#ff0000" Font-Bold="true"></asp:RequiredFieldValidator>
                                  </td>
                              </tr>
                              <tr>
                                  <td class="td_regist">Login ID :</td>
                                  <td>
                                      <asp:TextBox ID="txt_r_loginid" runat="server" CssClass="txt_register" ></asp:TextBox>
                                      <asp:RequiredFieldValidator ID="RequiredFieldValidator3"  SetFocusOnError="true" ControlToValidate="txt_r_loginid" ValidationGroup="register" runat="server" ErrorMessage="*" ForeColor="#ff0000" Font-Bold="true"></asp:RequiredFieldValidator>
                                  </td>
                              </tr>
                              <tr>
                                  <td class="td_regist">Password :</td>
                                  <td>
                                      <asp:TextBox ID="txt_r_pwd" runat="server"  TextMode="Password" CssClass="txt_register"></asp:TextBox>

                                      <asp:RequiredFieldValidator ID="RequiredFieldValidator4"  SetFocusOnError="true" ControlToValidate="txt_r_pwd" ValidationGroup="register" runat="server" ErrorMessage="*" ForeColor="#ff0000" Font-Bold="true"></asp:RequiredFieldValidator>

                                  </td>
                              </tr>
                              <tr>
                                  <td class="td_regist">Confirm Passsword :</td>
                                  <td>
                                      <asp:TextBox ID="txt_r_confirmpwd" runat="server"  TextMode="Password" CssClass="txt_register"></asp:TextBox>

                                      <asp:RequiredFieldValidator ID="RequiredFieldValidator9"  SetFocusOnError="true" ControlToValidate="txt_r_confirmpwd" ValidationGroup="register" runat="server" ErrorMessage="*" ForeColor="#ff0000" Font-Bold="true"></asp:RequiredFieldValidator>
                                      &nbsp;<asp:CompareValidator ID="CompareValidator1" runat="server" ControlToCompare="txt_r_pwd" ControlToValidate="txt_r_confirmpwd" ForeColor="#ff0000" ErrorMessage="Password not matched"></asp:CompareValidator>
                                  </td>
                              </tr>
                              <tr>
                                  <td class="td_regist" >E-Mail Id :</td>
                                  <td>
                                      <asp:TextBox ID="txt_r_email" runat="server" CssClass="txt_register"></asp:TextBox>
                                      <asp:RequiredFieldValidator ID="RequiredFieldValidator5"  SetFocusOnError="true" ControlToValidate="txt_r_email" ValidationGroup="register" runat="server" ErrorMessage="*" ForeColor="#ff0000" Font-Bold="true"></asp:RequiredFieldValidator>
                                      &nbsp;&nbsp;&nbsp;
                                      <asp:RegularExpressionValidator ID="RegularExpressionValidator1"  SetFocusOnError="true" runat="server" ForeColor="#ff0000" ControlToValidate="txt_r_email" ErrorMessage="Invaild email ID" ValidationExpression="\w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*"></asp:RegularExpressionValidator>
                                  </td>
                              </tr>
                              <tr>
                                  <td class="td_regist">Mobile No :</td>
                                  <td>
                                      <asp:TextBox ID="txt_r_mobile" runat="server" CssClass="txt_register"></asp:TextBox>
                                      <asp:RequiredFieldValidator ID="RequiredFieldValidator6"  SetFocusOnError="true" ControlToValidate="txt_r_mobile" ValidationGroup="register" runat="server" ErrorMessage="*" ForeColor="#ff0000" Font-Bold="true"></asp:RequiredFieldValidator>
                                      &nbsp;&nbsp;&nbsp;
                                      <asp:RegularExpressionValidator ID="RegularExpressionValidator3" runat="server"  SetFocusOnError="true"  ControlToValidate="txt_r_mobile" ErrorMessage="Invalid Mobi no" ForeColor="Red" ValidationExpression="[789][0-9]{9}" ValidationGroup="register"></asp:RegularExpressionValidator>
                                  </td>
                              </tr>
                              <tr>
                                  <td>&nbsp;</td>
                                  <td>
                                      <asp:Label ID="lbl_registermessage" Visible="false" runat="server" ForeColor="#006600" Text="Successfully Registration Complete..."></asp:Label>
                                  </td>
                              </tr>
                              <tr>
                                  <td colspan="2" style="text-align:center">
                                      <asp:Button ID="btn_r_submit"  CssClass="btn_register" runat="server"   ValidationGroup="register" Text="Submit" OnClick="btn_r_submit_Click" ValidateRequestMode="Enabled" />
                                      &nbsp;
                                      <asp:Button ID="btn_r_clear"   CssClass="btn_register"  runat="server"  ValidationGroup="register" Text="Clear" OnClick="btn_r_clear_Click" />
                                  </td>
                              </tr>
                              <tr>
                                  <td colspan="2" style="text-align:center">
                                      &nbsp;</td>
                              </tr>
                          </table>
                      </div>
                  </div>

Solution 1

Deux choses, la première devrait résoudre votre problème.

1) Vous devez ajouter ValidationGroup à vos contrôles Web, tels que :

2) Il est recommandé d’utiliser la méthode Page.IsValid lors de la soumission d’un formulaire, car elle forcera également l’exécution des contrôles de validation côté serveur.

Page.Validate();
        if (!Page.IsValid)
        {
            Literal1.Text = "* Form is incomplete";
        }
        else
        {
            //insert data
        }

Solution 2

Il y a quelques possibilités pour votre problème
1. Vous devriez vérifier Page.IsValid avant l’exécution du code en cliquant sur le bouton.
2. si vous utilisez ‘asp:Button’ et le fichier .CS pour le code derrière, vous devez déclencher l’événement Serverclick

コメント

タイトルとURLをコピーしました