Jquery 立即验证客户端上的电子邮件字段
我的视图模型中有以下属性:Jquery 立即验证客户端上的电子邮件字段,jquery,asp.net-mvc,validation,unobtrusive-validation,email-validation,Jquery,Asp.net Mvc,Validation,Unobtrusive Validation,Email Validation,我的视图模型中有以下属性: [EmailAddress] [DataType(DataType.EmailAddress)] public string Email { get; set; } 并使用以下razor视图进行渲染: @Html.LabelFor(m => m.Email) @Html.EditorFor(m => m.Email) @Html.ValidationMessageFor(m => m.Email) 这将生成以下html输出(请参见我想要的type
[EmailAddress]
[DataType(DataType.EmailAddress)]
public string Email { get; set; }
并使用以下razor视图进行渲染:
@Html.LabelFor(m => m.Email)
@Html.EditorFor(m => m.Email)
@Html.ValidationMessageFor(m => m.Email)
这将生成以下html输出(请参见我想要的type=“email”
):
现在,当更改inputfield中的任何字符或聚焦另一个字符时,将立即触发验证。我需要有type=“email”
是否可以在电子邮件字段上立即强制验证
[RegularExpression(@"^([a-zA-Z0-9_\-\.]+)@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.)|(([a-zA-Z0-9\-]+\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\]?)$", ErrorMessage = "Email is not valid.")]
尝试此属性Type=电子邮件是HTML5标记。我比较了我的两个项目,其中另一个使用旧的jquery验证程序插件,但它似乎不适用于电子邮件类型。然而,较新的项目使用最新的验证器,并且工作正常
尝试更新您的jquery验证程序插件。非常好,谢谢。我用的是1.8.0。这似乎太旧了;-)这并不能解决问题。问题在于
type=email
而不是验证器本身。
<input data-val="true" data-val-email="The Email field is not a valid e-mail address." id="Email" name="Email" type="text" value="">
[RegularExpression(@"^([a-zA-Z0-9_\-\.]+)@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.)|(([a-zA-Z0-9\-]+\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\]?)$", ErrorMessage = "Email is not valid.")]