ASP.NET自定义验证程序 - 全部或无值

时间:2014-06-12 17:48:22

标签: c# asp.net

我试图要求填写所有字段或者不填写任何字段。换句话说,如果填写了所有字段,则必须填写。这是我尝试过的。我缺少什么使这项工作?

ASP.NET标记:

<asp:CustomValidator
    id="CustomValidator"
    ErrorMessage="All or none of the fields must be filled out"
    ForeColor="Red"
    OnServerValidate="CustomValidator_ServerValidate"
    runat="server" />

C#:

protected void CustomValidator_ServerValidate(object source, ServerValidateEventArgs args)
{
    if ((String.IsNullOrEmpty(field1.Text) && 
         String.IsNullOrEmpty(field2.Text) && 
         String.IsNullOrEmpty(field3.Text)) || 
        (!String.IsNullOrEmpty(field1.Text) && 
         !String.IsNullOrEmpty(field2.Text) && 
         !String.IsNullOrEmpty(field3.Text))) 
    {
        args.IsValid = true;
    }
    else 
    {
        args.IsValid = false;
    }
}

感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

在提交的按钮上,您是否正在检查Page.IsValid

如果没有检查,自定义验证器将无法启动。

protected void btnSubmit_Click(args) {
  if (Page.IsValid) {
    //do something
  }
}