次のような形式に従うフォーム要素がいくつかあります。
<input type="radio" name="test" value="A"> <input type="text" size="3" name="weightA" id="A"><br>
<input type="radio" name="test" value="B"> <input type="text" size="3" name="weightB" id="B"><br>
jQueryValidationプラグインを使用してクライアント側の検証を行っています。これらのフィールドでやりたいのは、選択したラジオボタンに対応するテキスト入力が100になるようにすることです。PHPを使用してサーバー側でこれを正常に実装しましたが、すぐにフィードバックを提供するためにJSメソッドを追加したいと思います。フォームが送信される前。range:
数値範囲[1-100]内の2つのテキストフィールドへのユーザー入力を制限するjQueryルールをすでに含めました。
この作品を作るにはどうすればよいですか?それjQuery.validator.addMethod
を行う方法でしょうか?
編集: Sparkyのコメントに応えて、私は以下のaddMethodを試みました:
$.validator.addMethod(
"selectWt", function(value, element) {
var selA = $('[name="test"]').val() === "A";
var selB = $('[name="test"]').val() === "B";
if (selA && ($("#A").val() !== "100")) {
return false;
} else if (selB && ($("#B").val() !== "100")) {
return false;
} else return true;
}, "Selected option must equal 100."
);
これはの検証をトリガーするようです#A
が、ではありません #B
。表示されるエラーメッセージは、で指定されたものmessage:
ではなく、ルールで指定されたものaddMethod
です。私には最小限のプログラミングのバックグラウンドがあることを覚えておいてください。