0

我需要像这样在客户端验证中自定义错误消息(我正在使用 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 或 message2?

问候

4

1 回答 1

0

抱歉,我无法对此进行测试,但我相信,查看代码时,您需要在添加适配器时完成您想要做的事情。基本上,您添加的“方法”应该只返回 true 或 false。

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

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

可悲的是,如果不使用以下内容从元素中实际获取值,您似乎将无法获取值:$(elem).val().

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

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

于 2013-07-30T13:54:33.570 回答