ASP.. NET自定义验证器-全值或无值

本文关键字:NET 自定义 验证 ASP | 更新日期: 2023-09-27 18:08:17

我试图要求全部或没有一组字段填写。换句话说,如果填了一个,所有的都必须填。这是我尝试过的。我还缺什么才能成功?

ASP。净标记:

<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;
    }
}

谢谢你的帮助。

ASP.. NET自定义验证器-全值或无值

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

如果没有这个检查,自定义验证器将不会触发。

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