关于MVC中model验证的触发有关问题,修改时实时触发有关问题
关于MVC中model验证的触发问题,修改时实时触发问题
Model
View
我在程序第一次执行后,输入123@163.com,焦点失去时,Model验证开始并执行[Remote]的IsExists。此时还一切正常。
但是当焦点再回到email中,我发现每按一个键都会触发一次验证。比如我最终想输入123456@163.com。那么我将会触发三次,分别是1234@163.com、12345@163.com、123456@163.com。
有什么方法能让验证触发在焦点失去时呢?
------解决方案--------------------
http://www.cnblogs.com/dudu/archive/2012/04/27/jquery_validate_unobtrusive_focusout_focusin.html
------解决方案--------------------
google asp.net mvc ajax验证
Model
/// <summary>
/// 邮箱地址
/// </summary>
[Display(Name="邮箱地址")]
[Required(ErrorMessage="邮箱地址必须输入!")]
[DataType(DataType.EmailAddress)]
[RegularExpression(@"^\w+((-\w+)|(\.\w+))*\@[A-Za-z0-9]+((\.|-)[A-Za-z0-9]+)*\.[A-Za-z0-9]+$", ErrorMessage = "邮箱格式不正确!")]
[Remote("IsExists","Account",ErrorMessage="该邮箱已被注册!")]
public string Email { get; set; }
View
<div class="editor-label">
@Html.LabelFor(model => model.Email)
</div>
<div class="editor-field">
@Html.TextBoxFor(model => model.Email)
@Html.ValidationMessageFor(model => model.Email)
</div>
我在程序第一次执行后,输入123@163.com,焦点失去时,Model验证开始并执行[Remote]的IsExists。此时还一切正常。
但是当焦点再回到email中,我发现每按一个键都会触发一次验证。比如我最终想输入123456@163.com。那么我将会触发三次,分别是1234@163.com、12345@163.com、123456@163.com。
有什么方法能让验证触发在焦点失去时呢?
------解决方案--------------------
http://www.cnblogs.com/dudu/archive/2012/04/27/jquery_validate_unobtrusive_focusout_focusin.html
------解决方案--------------------
google asp.net mvc ajax验证