0

私は 4 つの同じドロップダウン リストを持っています。ユーザーは少なくとも最初のリストを選択する必要があります。そのため、最初の検証を追加しました。最初のドロップダウン リストの値が 0 の場合、エラー メッセージを表示します。

HTML:( 最初のドロップダウン リスト)

<select id="form22" class="select form22" name="m22">
<option selected="selected"    value="0"> Choose....</option>
<option value="1">Option 1</option>
<option value="2">Option 2</option>
<option value="3">Option 3</option>
</select>

jquery:

$.validator.addMethod("check_item_dropdown", function(value, element) {  
        return this.optional(element) || value == 0 ;   
         }, "Please select an item from the dropdown list.");

$().ready(function() {
    $("#response").validate({

    rules: {
                form22:{ 
                         check_item_dropdown: true
                       }
            },

    messages: {
                form22:{
                        check_item_dropdown: " Please select an item."
                        }
              }

            });

    });

[Choose....] を選択した場合にエラー メッセージが表示されない理由がわかりません。私の論理は正しいですか?

4

4 に答える 4

1

ここには2つの問題があると思います。1つは、投稿したコードの外観から form22 がオプションであることです。これを修正するには、次のようにバリデータのセットアップに required : true を追加します。

form22:{ 
  check_item_dropdown: true,
  required:true
}

もう 1 つは、値が 0 の場合にメソッドから true を返していることです。値が 0 にならないようにしますよね? したがって、チェックは value == 0 ではなく value !== 0 にする必要があります。

于 2013-07-03T09:22:50.987 に答える
0

id 属性の代わりに、検証スクリプトでform22name 属性を使用します。m22

これがうまくいくことを願っています。

編集済み

<script type="text/javascript">
$.validator.addMethod("check_item_dropdown", function(value, element) {  
    if(value == 0 || value == '') {
        return false;
    } else {
        return true;
    }   
}, "Please select an item from the dropdown list.");

$().ready(function() {
    $("#response").validate({

        rules: {
            m22:{ 
                     check_item_dropdown: true
                   }
        },

        messages: {
            m22:{
                    check_item_dropdown: " Please select an item."
                    }
          }

    });
});
</script>

あなたの に変更を加えましたvalidator methodifチェックの条件value0またはblankです。また、検証で name 属性を設定します。ローカルホストでもテストしました。

オプションからも外しselected="selected"ます。

その作業は今。これを試して、これがうまくいくかどうか教えてください。

于 2013-07-03T09:13:33.433 に答える
0

選択オプションを次のようにします。

<option selected="selected" value=""> Choose....</option>
于 2013-07-03T09:14:31.463 に答える