0

jQuery 検証エンジンを使用しており、1 つのフィールドに使用する必要がある 2 つのカスタム ルールがあります。私はそれらの両方を1つずつ試しましたが、うまくいきます。両方を取り付けるにはどうすればよいですか?

class="validate[required,custom[OFS, onlyLattinLetters], maxSize[140]]"

また

class="validate[required,custom[OFS], custom[onlyLattinLetters], maxSize[140]]"

動作しません。

4

2 に答える 2

1

インライン クラスの代わりに、プラグインの初期化関数内で宣言してみましたか?

$(document).ready(function() {
    $('#myForm').validate({
        rules: {
            myField: { 
                required: true,
                OFS: true,
                onlyLattinLetters: true,
                maxSize: 140
            }
        }
    });
});

編集

インライン コードを完全に避けることをお勧めします。保守がより難しくなり、HTML が冗長になり、プレゼンテーション スタイルと機能が混ざり合っていると思います。

また、適切な構文と使用法に関する公式ドキュメントが見つからないため、jQuery ディスカッション フォーラムで見つけた以下の例 (編集履歴を参照) を削除しました。

于 2012-10-31T14:34:13.033 に答える
-2

インラインを使用する必要がある場合は、Add メソッドを使用して 2 つのカスタム ルールを作成します。

 jQuery.validator.addMethod("onlyLattinLetters", function(value, element) {
 return this.optional(element) || \p{IsBasicLatin}.test(value); 
 // or replace before .test() whatever your regex is 
 }, "Only in Latin numbers please");

次に、インラインから custom[] を削除して、検証呼び出しをそのまま使用できます

 class="validate[required, OFS, onlyLattinLetters, maxSize[140]]"

本当により良い方法はSparky672のvalidate()プラグインの初期化ですが、インラインを使用する必要がある場合は上記の作品

于 2012-10-31T15:19:24.187 に答える