2017-02-23 8 views
0

enter image description hereフォーム#fooで電子メールフィールド[name = bar]を検証するとき、そのフィールドの検証をオン/オフに切り替える必要があります。チェックボックス。parsley.jsフォームの検証からフィールドをオン/オフにする方法

私はdata-parsley-required = "false"やdata-parsley-validate = "false"の設定で十分だと思っていました。

しかし、email、min-lenght、max-lengthなどの他のすべての制約は引き続き検証され、入力フィールドは引き続きエラー条件の検証を行います。私はそれが成功するかどうかを検証することを望むでしょう。

<form id="foo"> 
    <input name="bar" 
      maxlength="40" 
      value="" 
      class="form-control" 
      data-parsley-validate="false" 
      data-parsley-required="false" 
      type="email" 
      data-parsley-minlength="5" 
      data-parsley-trigger="input keyup change" 
      data-parsley-error-message="something is wrong"> 
</form> 

方法でフィールドの検証をオフにすることが可能であるかそう、それが再び再起動することができますか?https://jsfiddle.net/88obg0sj/9/

を参照してください。

+1

このようにhttps://jsfiddle.net/br3t/88obg0sj/10/? – br3t

+0

例にチェックボックスを追加しました。チェックボックスをオフにすると、.parsley()を呼び出して既存のParsleyFieldインスタンスを取得し、.destroy()を呼び出してインスタンスを破棄します。しかし、私が最初に$( 'form#foo')。parsley({lotsOfOptions})とイベントサブスクリプションを呼び出したので、あなたがチェックすると、私のためにはうまくいかない.parsley()そして、私はこれらのオプションはすべて忘れていると思います。ですから、私は単に行うほうがいいでしょう:チェックされていなければ、真であることを確認してください。 – matths

答えて

0

などを追加するなど、excludedのオプションを調整する必要があります。

+0

アイデアはいいと思うけど、最初は除外さえできない!おそらく、単一フィールドの検証ではなく、フォーム提出時にのみ除外されますか? https://jsfiddle.net/Lwdppsvm/2/ – matths

+0

私はこれのための解決策を考え出すことができません。フィールドを単に成功/除外として渡し/検証することは非常に難しいです。想像することはできません、それは私のこのような奇妙な使用事例です。 – matths

+0

私は正しいですが、入力/変更/キーアップでトリガされた単一フィールドの検証には影響しませんが、すべてのフィールドが検証されるとフォームの送信時にのみ除外されます:https://jsfiddle.net/Lwdppsvm/5/ – matths

関連する問題