Validation sur un bouton, cliquez sur l'aide de RequiredFieldValidator
Dans le passé, sur le bouton cliquez sur événements, j'ai validé sans l'aide de RequiredFieldValidators. Cependant, je pensais en apprendre plus sur eux et de les mettre en œuvre.
Mon ancienne approche:
protected void btnSubmit_Click(object sender, EventArgs e)
{
if (txtSubject.Text.Equals("") || txtEmail.Text.Equals("") || txtComments.Text.Equals(""))
{
lblMessage.Text = "Please check all fields have been entered.";
}
//else if ...further validation statements e.g. check lengths
}
Cependant, l'utilisation de RequiredFieldValidators avec le même exemple, ai-je raison de dire que je n'ai pas à vérifier de nouveau if (txtSubject.Text.Equals("") || txtEmail.Text.Equals("") || txtComments.Text.Equals(""))
comme ci-dessous, ou est-ce une bonne pratique?
protected void btnSubmit_Click(object sender, EventArgs e)
{
if (Page.IsValid)
{
//...further validation statements e.g. check lengths
try
{
SendMail();
}
catch (Exception)
{
}
}
}
Si je doit toujours inclure la ligne, il faut aller au début de la si la Page.IsValid), droit?
Code HTML:
<p>Contact Form</p>
<p>
Your name:
<asp:RequiredFieldValidator ID="rfvName" runat="server" ErrorMessage="*"
ControlToValidate="txtName" ValidationGroup="save" /><br />
<asp:TextBox ID="txtName" runat="server" Width="250px" /><br />
Your email address:
<asp:RequiredFieldValidator ID="rfvEmail" runat="server" ErrorMessage="*"
ControlToValidate="txtEmail" ValidationGroup="save" /><br />
<asp:TextBox ID="txtEmail" runat="server" Width="250px" />
<asp:RegularExpressionValidator runat="server" ID="rfvEmail2"
SetFocusOnError="true" Text="Example: [email protected]" ControlToValidate="txtEmail"
ValidationExpression="\w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*" Display="Dynamic"
ValidationGroup="save" /><br />
Subject:
<asp:RequiredFieldValidator ID="rfvSubject" runat="server" ErrorMessage="*"
ControlToValidate="txtSubject" ValidationGroup="save" /><br />
<asp:TextBox ID="txtSubject" runat="server" Width="400px" /><br />
Comments:
<asp:RequiredFieldValidator ID="rfvComments" runat="server" ErrorMessage="*"
ControlToValidate="txtComments" ValidationGroup="save" /><br />
<asp:TextBox ID="txtComments" runat="server" TextMode="MultiLine" Rows="10" Width="400px" />
</p>
<p>
<asp:Button ID="btnSubmit" runat="server" Text="Send" OnClick="btnSubmit_Click" ValidationGroup="save" />
</p>
<p>
<asp:Label ID="lblMessage" runat="server" Visible="true" />
</p>
- quelle est votre question
- Il y a deux questions dans le post original.
Vous devez vous connecter pour publier un commentaire.
pourquoi ne pas vous faire ce qui suit?
Ce seulement les feux de votre groupe de validation et de plus , vous pouvez utiliser un résumé de validation pour afficher votre message sur le bon de formats des zones de texte.
Et vous pouvez afficher un message d'erreur à afficher le format correct.