[英]custom validator not working
我在文本框上应用了自定义验证器,该文本框的值被日历更改。 我已经进行了服务器端验证,以检查是否是过去的日期。 单击提交按钮将触发验证器。 args.IsValid值设置为false,但是代码仍然输入提交按钮的click事件,而不显示错误消息。 请帮忙。
aspx.cs file
protected void CustomValidatorIssueDate_ServerValidate(object source, ServerValidateEventArgs args)
{
string nowString = DateTime.Now.ToString("MM/dd/yyyy");
DateTime now = Convert.ToDateTime(nowString);
DateTime issueDate = Convert.ToDateTime(args.Value);
if (issueDate.CompareTo(now) > 0)
{
args.IsValid = true;
}
else
{
args.IsValid = false;
}
}
aspx file
<asp:TextBox ID="TextBoxIssueDate" runat="server" Width="214px"></asp:TextBox>
<asp:CustomValidator runat="server" ControlToValidate="TextBoxIssueDate"
ErrorMessage="Issue Date cannot be past date"
onservervalidate="CustomValidatorIssueDate_ServerValidate"
ID="CustomValidatorIssueDate" Display="Dynamic" SetFocusOnError="True" ></asp:CustomValidator>
只需将IsValid
设置为false
就不会绕过您的onclick事件处理程序。
您需要在事件处理程序中检查IsValid。
if(Model.IsValid)
{
}
(或类似的内容)。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.