0

日付、月、年の 3 つのコンボボックスを検証しようとしています。

jquery.js と jquery.validate.js を使用しています。選択されていない場合、コンボボックスごとにエラーが表示されますが、3 つのエラーではなく 1 つのメッセージのみが必要です。

4

1 に答える 1

1

2 つのことが必要です。3 つすべてを に追加し、 errorPlacementgroupオプションをセットアップして、エラー メッセージを適切に配置します。

したがって、フォームが次のようになっている場合:

<form>
  <select name="day" class="required">
     <option value="">Day</option>
     <option value="1">1</option>
     <!-- etc -->
  </select>
  <select name="month" class="required">
     <option value="">Month</option>
     <option value="1">Jan</option>
     <!-- etc -->
  </select>
  <select name="year" id="year" class="required">
     <option value="">Year</option>
     <option value="2013">2013</option>
     <!-- etc -->
  </select>
  <br>
  <input type="submit">
</form>

次に、次のような jQuery Validate 呼び出しが必要です。

$('form').validate({
   groups: {
      myDate: 'day month year'
   },
   errorPlacement: function(error, element) {  
     if (element.attr("name") == "day" 
             || element.attr("name") == "month" 
             || element.attr("name") == "year" )
        error.insertAfter("#year");
     else
        error.insertAfter(element);
   }
});

そして、それをすべてまとめると、次のような例が得られます: http://jsfiddle.net/ryleyb/Yzdag/

于 2013-06-13T15:37:32.933 に答える