2016-05-27 4 views
1

私は簡単に説明できるタスクがあります。たとえば、3つのポジションのドロップダウンがあります。そして1つのフィールド。フィールドのパズルルールを動的に変更する

  • option0が選択されている場合、フィールドの検証は必要ありません。
  • オプション1を選択した場合、フィールドは数値でなければなりません。
  • option2を選択した場合、フィールドは正規表現と一致するはずです。

Parsleyでこの現象をどのように達成できますか?

私は今のところ見つかった唯一の方法は、全体パセリ、変更のHTMLを削除して再初期化です:

$(myDropDown).change(function() { 
    $('form').parsley().destroy(); 

    var input = $(this).parent().find(".my-cool-input"); 
    //changing input attributes based on selected value 

    //reinitialize parsley 
    $('form').parsley(); 
}); 

をしかし、ここで私が唯一のフィールド検証を変更する間、私は、全体のパセリのグローバルな状態を変更します。

別の方法として、カスタムバリデーターを作成する方法がありますが、可能であれば、標準の電子メールなどの検証ルールとメッセージを再利用したいと考えています。

答えて

2

フィールドの属性とtrigger('input')を変更するだけです。

関連する問題