ASP.Net - 填写表格时验证信息?

时间:2016-04-16 23:18:24

标签: asp.net validation webforms

我在填写表单时尝试验证SSN号码,如果用户与格式不匹配,则会显示错误消息。

到目前为止,我已经按到了#34;提交"按钮,它会告诉错误,但是一旦用户选中文本框,我就会想要它。

到目前为止,这是我的代码

<asp:TextBox id="txtSSN" runat="server"/> (999-99-9999) <br>
<asp:RegularExpressionValidator id="ValidateSSN" 
   runat="server" 
   ControlToValidate="txtSSN" 
   ValidationExpression="[0-9]{3,3}-[0-9]{2,2}-[0-9]{4,4}" 
   ErrorMessage="SSNO must be in the form 999-99-9999" 
   Display="None"/>

1 个答案:

答案 0 :(得分:2)

您可以设置TextBox的onchange事件:

<asp:TextBox id="txtSSN" runat="server" onchange="ValidateSSN();" />

调用此函数:

function ValidateSSN() {
    var validator = document.getElementById('<%= ValidateSSN.ClientID %>');
    if (validator) {
        ValidatorValidate(validator);
        if (!validator.isvalid) {
            alert('The SSN is not valid!');
        }
    }
}
当TextBox失去焦点时,将调用

ValidateSSN,但仅在文本被修改时调用。如果您想在每次失去焦点时验证该字段,即使文本没有更改,您也可以设置onblur而不是onchange