我正在使用asp.net validations
和jquery validation
用于检查用户输入。我正在使用 required field validators
的数量和custom validators
在我的表单中,我面临一个奇怪的问题,当字段带有 required validator
时为空,error message
显示在 validation summary
。这没关系。当同一字段留空并且在其他字段中输入错误的输入时 custom validators
,, validation summary
仅显示 error message
的required field validator
.其他错误消息只是不显示。任何人都可以指出我哪里出错了。
谢谢
最佳答案
以下代码示例将 RequiredFieldValidator 与 CustomValidator 一起使用。它会验证这两个字段以及其中一个字段失败的情况,并在 ValidationSummary 中显示错误消息。
CustomValidator 在后面的代码中具有 OnServerValidate 函数。
.aspx 标记:
<form id="form1" runat="server">
<div>
<label>Name:</label>
<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
<asp:RequiredFieldValidator ID="RequiredFieldValidator1" runat="server" EnableClientScript="false"
ControlToValidate="TextBox1" ErrorMessage="The 'Name' field cannot be empty!" Text="*" ForeColor="Red"
Display="Dynamic"></asp:RequiredFieldValidator>
<br /><br />
<label>Number:</label>
<asp:TextBox ID="TextBox2" runat="server"></asp:TextBox>
<asp:CustomValidator ID="CustomValidator1" runat="server" ValidateEmptyText="true"
ControlToValidate="TextBox2" ErrorMessage="The 'Number' field must be exactly 5 digits!" Text="*" ForeColor="Red"
Display="Dynamic" onservervalidate="CustomValidator1_ServerValidate"></asp:CustomValidator>
<asp:ValidationSummary ID="ValidationSummary1" runat="server" HeaderText="Please check the following fields:" ForeColor="Red" DisplayMode="BulletList" />
<br />
<asp:Button ID="Button1" runat="server" Text="Submit" />
</div>
</form>
以及.aspx.cs文件中的验证函数:
protected void CustomValidator1_ServerValidate(object source, ServerValidateEventArgs args)
{
if (args.Value.Length < 5 || args.Value.Length > 5)
{
args.IsValid = false;
}
else
{
args.IsValid = true;
}
}
为了能够显示两条错误消息,而不仅仅是 RequiredFieldValidator,其属性“EnableClientScript”应设置为 false。
希望这能让您继续前进并解决您的问题。
关于Asp.net 必填字段验证器问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9644405/