首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > asp.net >

关于MVC中model验证的触发有关问题,修改时实时触发有关问题

2013-03-19 
关于MVC中model验证的触发问题,修改时实时触发问题Model/// summary/// 邮箱地址/// /summary[Display

关于MVC中model验证的触发问题,修改时实时触发问题
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验证

热点排行