2

フィールドに入力するときの最初のキーアップイベントでの私のパセリエラーメッセージ#myTestField

この値は短すぎます。4 文字以上である必要があります。

パセリ フィールドのデータ属性をオンザフライで変更しようとしましたが、うまくいかないようです。JS コードで変更された値を考慮せずに、最初に割り当てられた値 (html フォーム) を保持します。

Chrome では、DOM のロード後に data 属性の値が変更されていることを確認できます。

私のコードは

<form name="myForm" id="myForm">
    <input type="text" name="myTestField" id="myTestField" data-trigger="keyup" data-minlength="4" data-validation-minlength="0" >
    <button id="mySubmitButton" type="submit" >Save</button>
</form>

<script>
// wait for the DOM to be loaded 
    $(document).ready(function() {
    // destroy
    $('#myForm').parsley('destroy');
    // change attribute
    $('#myTestField').attr('data-minlength','2');
    // assign parsley to do the job
    $('#myForm').parsley();
      });
</script>

私は何か間違ったことをしていますか?

アップデート:

これは Parsley.js の既知の問題であり、GitHub に問題 #52 があります。

removeItem()また、同じ入力 #Id で続いて使用しようとしaddItem()ましたが、どちらも機能しませんでした。

私はまだ回避策を見つけようとしています

4

1 に答える 1

7

Parsley は、jQuery によってバインドされたデータ属性に基づいています。.data()

残念ながら、 data-attr を追加すると、 jQuery にバインドされません.data()。この方法でバリデーターをオンザフライで追加する必要があります。

<script>
// wait for the DOM to be loaded 
    $(document).ready(function() {
      // destroy
      $('#myForm').parsley('destroy');
      // change attribute
      $('#myTestField').data('minlength', 2);
      // assign parsley to do the job
      $('#myForm').parsley();
    });
</script>

destroy を呼び出すことなく、その場でバリデーターを追加/編集/削除するための API を追加します :)

于 2013-02-05T14:00:58.040 に答える