如何仅为onfocusout事件配置客户端验证

时间:2014-10-29 12:42:17

标签: c# jquery asp.net-mvc jquery-ui asp.net-mvc-4

这是我在mvc应用程序中用于客户端验证的jquery unobtrusive适配器。现在验证工作正在进行,但它正在onkeupevent上进行。我希望只有在用户离开现场后才能进行客户端验证 - 有人可以指导我如何使其工作吗?我想仅为某些字段而不是整个表单设置此配置。

jQuery.validator.unobtrusive.adapters.add("compareemail", ["otherproperty"], function (options) {
    options.rules["compareemail"] = options.params.otherproperty;
    options.messages["compareemail"] = options.message;
});

jQuery.validator.addMethod("compareemail", function (value, element, params) {

    var reasonElement = $('#personalDetailsEmail');
    var testval = reasonElement.val();
    if (value != testval) {
         return false;
    }
    return true;
});

三江源

2 个答案:

答案 0 :(得分:0)

如果我理解正确,这就是你需要的:

$('.parentOfFields').on( "blur", '.fieldsThatYouNeedAndHaveThisClass', function(){
    console.log($(this))
    //do stuff with $(this)
} )
小心:确保在执行此js代码之前存在.parentOfFields,但是同样的情况不适用于.fieldsThatYouNeedAndHaveThisClass,它们可以动态创建/添加

更多关于模糊的内容:http://api.jquery.com/blur/
模糊意味着不专心

答案 1 :(得分:0)

您可以覆盖该特定控件的onblur函数

@Html.TextBoxFor(m => m.UserName, new { onblur = "return false;" })