1

私のクライアントは、特定の検証プラグイン (valid8) を使用することを要求しました。これは、フォーカス時にインライン検証のみを行うようです。プラグインに関するドキュメントはかなり貧弱なので、他の誰かがこの特定のプラグインの経験があり、助けてくれることを願っています.

これは、ユーザーが希望する連絡方法を指定する必要がある連絡フォームです。電子メールを指定する場合、電子メール入力フィールドを検証する必要があります。電話を指定する場合は、電話入力フィールドを検証する必要があります。選択したラジオに基づいて検証を選択的に追加できますが、ユーザーがフォームを送信する前に連絡先の設定を変更した場合、検証を削除することはできません。

このプラグインを使用してフィールドが追加された後に、フィールドから valid8 検証を削除する方法はありますか? .unbind(valid8) を試しましたが、unbind はイベント用で、valid8 はイベントではないため、うまくいきません。すべてのイベントを手動でバインド解除し、余分なマークアップをフィールドから削除する必要がありますか?

編集: http://jsfiddle.net/sjc8611/5d3CT/

4

2 に答える 2

1

検証を常に true を返す関数に設定できます。

$("#element").valid8({
    jsFunctions: [{
        function: alwaysTrue, values: function() { return true; }
    }]
});
于 2012-10-11T22:50:18.010 に答える
1

私はこのプラグインを使用していませんが、ソースを見ると、検証に関する情報#elementが任意のデータsettingsに保存されているようです。試してみてください:

$('#element').data('settings', null);

そして、それが何をするか見てください。ただし、エラーが発生する場合があります。エラーが発生した場合は、関連する次のイベントを削除することもできます。

keyup
blur
click (for checkbox)

次のような 1 つのコマンドで実行できます。

$('#element').unbind();

ただし、これによりその要素のすべてのイベントが削除され、再び問題が発生する可能性があります。そのため、必要に応じて1つずつ削除できるように、上記のリストを提供しました.

これは、これを使用せずに言えることですが、うまくいかない場合は、例をオンラインで (できればjsFiddleに) 投稿して、確認できるようにしてください。他のすべてが失敗した場合は、プラグインの作成者に電子メールを送信できます。

于 2012-10-11T22:27:18.437 に答える