我在填写表单时尝试验证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"/>
答案 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
。