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 に答える