0

選択ボックスを検証したいので、さまざまなアプローチを試しました。

ユーザーがデフォルト値 = 「選択してください」を使用することを許可したくありません。

検証は初回のみ機能しますが、フォームの送信時に検証に合格しています。

私のHTML選択:

      <select id="website_category" name="website[category]" class="selectBox" style="display: none; "><option value="">--- please select ---</option>
       <option value="Banking">Banking</option>
       <option value="Computers">Computers</option>

< クーポン <

これが私のコードです:

 jQuery.validator.addMethod("notEqual", function(value, element, param) {
   return value != param;
  }, "Please select something");
  ...
  'website[category]': {
              notEqual: "--- please select ---"
        },

も試した

 required:true

これが私が得るものです。デフォルト値を選択すると、次のようになります。

しかし、検証を送信すると合格します:

なぜそれがそのように起こっているのですか?誰かが正しい解決策を提案できますか?

4

1 に答える 1

-1

最善の方法は、次のように無効に設定することです。

<select id="website_category">
 <option value="-1" disabled selected="selected">---please select---</option>
  ....
</select>

次に、安全のために、クライアント側とサーバー側の両方で値 -1 を確認します。

ユーザーが選択を変更すると、そのオプションを再度選択することはできません。これにより、エラー チェックも強制されます。

于 2012-10-05T10:09:43.783 に答える