0

私はvalidation.jsプラグインを使用していますが、必要に応じて変更を加えようとしましたが、多くのことを考え、テストし、検索した後、何も得られませんでした. :

$("#form").validate({
    rules: 
    {
        phone: 
        {
            required: true,
            number: true,
            minlength: 6
        }
    },
    messages:
    {
        phone: 
        {
            required: 'This field is required',
            number: 'Invalid phone number',
            minlength: 'Minimum length: 6'
        }
    }
});

すべて問題ありませんが、メッセージの表示に加えて、いくつかの異なる機能を実行したいと考えています。実行機能 2

このように:

    $("#form").validate({
        rules: 
        {
            phone: 
            {
                required: true,
                number: true,
                minlength: 6
            }
        },
        messages:
        {
            phone: 
            {
                required: 'This field is required',
                number: 'Invalid phone number' + function TWO,
                minlength: 'Minimum length: 6' + function ONE
            }
        }
    });

誰でも私を助けてくれますか?

4

1 に答える 1

0

カスタム メッセージの値として、 のfunction代わりにコールバックを使用できます。stringその関数からメッセージを返すようにしてください。そうすれば、メッセージを出力する前に任意の操作を行うことができます。コールバックfunctionは 2 つの引数を取ります。1 つ目はルールに渡される値で、2 つ目は要素です。

メッセージ

...各メッセージは文字列またはコールバックにすることができます。コールバックは、ルールのパラメーターを最初の引数として、要素を 2 番目の引数として、バリデーターのスコープで呼び出され、メッセージとして表示する文字列を返す必要があります。

messages:
{
  phone: 
  {
    required: 'This field is required',
    number: function(rule, elem) {
      doSomeStuff('run before number message');
      return 'Invalid phone number';
    },
    minlength: function(rule, elem) {
      doSomeStuff('run before minlength message');
      return 'Minimum length: 6';
    }
  }
}

-- JSFiddle の例 --ここを確認してください。

于 2016-12-21T12:15:35.743 に答える