自定义消息错误jquery验证

时间:2013-07-30 13:32:29

标签: jquery asp.net-mvc-3 jquery-validate unobtrusive-validation

我需要在我的客户端验证中自定义eror消息(我正在使用mvc客户端验证)

  define([
    'jquery',
    'validate',
    'unobtrusive'
], function ($, validator, unobtrusive) {
    jQuery.validator.addMethod('firstnamevalidator',
                        function (value, element, params) {
                            if(value<parms.min)
                             **show message error1**
                             if(value==parms.min)
                             **show message error 2**
                            return false;
                        });

    jQuery.validator.unobtrusive.adapters.add('firstnamevalidator',
                             ['min'],
                             function (options) {
                                 options.rules['firstnamevalidator'] = {
                                     min: options.params.min                                 };
                                 options.messages['firstnamevalidator'] = options.message;
                             });
});

如何在验证中显示message1 ou message2

问候

1 个答案:

答案 0 :(得分:0)

很抱歉我无法测试这个,但我相信,在查看代码时,您需要在添加适配器时完成所需的操作。基本上你添加的“方法”应该只返回true或false。

当此方法返回false时,将激活查找要显示的消息的所有链,如果消息是函数,则将使用参数和元素作为参数调用它:

options.messages['firstnamevalidator'] = function (params, elem) {
    // logic here... you can use options.message of course...
}

可悲的是,如果没有使用类似$(elem).val()之类的内容从元素中获取该值,您似乎无法获得该值。

我希望这会带你走向正确的方向。

您要解决的确切问题是什么?可能有一种更简单的方法。