如果 2 个字段为空,则需要一条错误消息

One Error Message Needed If 2 Fields Are Empty

我有一个 asp.net 联系我们表单,其中包含 'Tel No.' 和 'Email' 字段。我想要的是一个错误消息,如果在提交表单时这两个字段都是空白的,但我无法弄清楚,脑放屁,我认为大声笑

HTML

<div class="form-group">
     <asp:Label ID="TelFieldLabel" class="col-md-3 control-label" runat="server" Text="Contact No." AssociatedControlID="TelField"></asp:Label>
     <div class="col-md-3">
          <asp:TextBox ID="TelField" runat="server" class="form-control" type="Number"></asp:TextBox>
     </div>
</div>
<div class="form-group">
     <asp:Label ID="EmailFieldLabel" class="col-md-3 control-label" runat="server" Text="Email address" AssociatedControlID="EmailField"></asp:Label>
     <div class="col-md-3">
          <asp:TextBox ID="EmailField" runat="server" class="form-control" type="Text"></asp:TextBox>
     </div>
     <div class="col-md-offset-3 col-md-9">         
          <asp:RegularExpressionValidator Display="Dynamic" runat="server" ID="RegularExpressionValidator1" SetFocusOnError="True" ForeColor="Red" ControlToValidate="EmailField" ErrorMessage="RegularExpressionValidator" ValidationExpression="\w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*">Email address is not a valid format.</asp:RegularExpressionValidator>
          <asp:CustomValidator id="CustomValidator2" runat="server" Display="Dynamic" ForeColor="Red" ErrorMessage="Please enter either a phone number of an email address." ClientValidationFunction="ContactFields_ClientValidate" OnServerValidate="PrefContact_ServerValidate" />
     </div>
</div>
div class="form-group">
     <div class="col-xs-12">
          <div class="pull-right">
               <asp:LinkButton ID="SubmitButton" runat="server" OnClick="SubmitButton_Click" CssClass="btn btn-primary" OnClientclick="ShowProcessingPopup();"><span class="glyphicon glyphicon-ok"></span> Submit</asp:LinkButton>
          </div>
     </div>
</div>

我的电子邮件地址也有分配给它的验证错误,正如您从上面看到的那样。

ASP.NET 方法是,

标记

<asp:CustomValidator ID="CustomValidator2" runat="server" 
    Display="Dynamic" 
    ForeColor="Red" 
    ErrorMessage="Please enter either a phone number of an email address." 
    ClientValidationFunction="ContactFields_ClientValidate" 
    OnServerValidate="CustomValidator2_ServerValidate">

JavaScript

function ContactFields_ClientValidate(source, arguments) {
    var telephoneField = document.getElementById("<%= TelField.ClientID %>");
    var emailField = document.getElementById("<%= EmailField.ClientID %>");
    if (telephoneField.value == "" && emailField.value == "") {
        arguments.IsValid = false;
    }
    else {
        arguments.IsValid = true;
    }
}

代码隐藏

protected void CustomValidator2_ServerValidate(object source, ServerValidateEventArgs args)
{
    if (TelField.Text.Trim() == "" && EmailField.Text.Trim() == "")
    {
        args.IsValid = false;
    }
    else
    {
        args.IsValid = true;
    }
}