EmailAddress Validation ModelValidation 甚至在用户完成输入数据之前就自动触发
EmailAddress Validation ModelValidation firing automatically even before the user finished entering data
我正在使用数据注释来验证 mvc4 模型。
字段
[Required(ErrorMessage="Please fill your Email Address")]
[EmailAddress(ErrorMessage="Please enter your active email so we can reply to your email.")]
public string UserEmail { get; set; }
在我看来
<div class="form-group has-feedback">
<label class="sr-only" for="email2">Email address</label>
@Html.TextBoxFor(model => model.UserEmail, new { @class = "form-control", placeholder = "User Email", id = "useremail" })
@Html.ValidationMessageFor(model => model.UserEmail, string.Empty, new { @style = "color:red", @class = ".field-validation-error", id = "valUserEmail" })
<i class="fa fa-envelope form-control-feedback"></i>
</div>
这里的问题是,我开始向我的电子邮件地址字段输入数据,当我开始输入数据时,甚至在我完成向该字段输入数据之前,我就会收到验证消息。当我输入正确的数据后,这将消失,但如果 he/she 在 he/she 输入数据之前就看到错误消息,这对用户来说很烦人。
任何建议都会有所帮助。
提前致谢。
默认情况下,客户端验证使用 keyUp
事件。您可以使用 changing settings of jquery validate:
更改它
var validator = $("form").data("validator");
if (validator) {
validator.settings.onkeyup = false; // disable validation on keyup
}
甚至 disable keyUp
特定输入的事件:
$('form').validate({
rules: {
[...]
}
}
// Disable keyup validation for UserEmail field
$("[data-val-UserEmail]").keyup(function() { return false } );
我正在使用数据注释来验证 mvc4 模型。 字段
[Required(ErrorMessage="Please fill your Email Address")]
[EmailAddress(ErrorMessage="Please enter your active email so we can reply to your email.")]
public string UserEmail { get; set; }
在我看来
<div class="form-group has-feedback">
<label class="sr-only" for="email2">Email address</label>
@Html.TextBoxFor(model => model.UserEmail, new { @class = "form-control", placeholder = "User Email", id = "useremail" })
@Html.ValidationMessageFor(model => model.UserEmail, string.Empty, new { @style = "color:red", @class = ".field-validation-error", id = "valUserEmail" })
<i class="fa fa-envelope form-control-feedback"></i>
</div>
这里的问题是,我开始向我的电子邮件地址字段输入数据,当我开始输入数据时,甚至在我完成向该字段输入数据之前,我就会收到验证消息。当我输入正确的数据后,这将消失,但如果 he/she 在 he/she 输入数据之前就看到错误消息,这对用户来说很烦人。
任何建议都会有所帮助。
提前致谢。
默认情况下,客户端验证使用 keyUp
事件。您可以使用 changing settings of jquery validate:
var validator = $("form").data("validator");
if (validator) {
validator.settings.onkeyup = false; // disable validation on keyup
}
甚至 disable keyUp
特定输入的事件:
$('form').validate({
rules: {
[...]
}
}
// Disable keyup validation for UserEmail field
$("[data-val-UserEmail]").keyup(function() { return false } );