0

単一の要素でjQuery検証を使用している場合、検証メッセージを変更するにはどうすればよいですか。

以下の例では、ボタンがクリックされたときに「DestinationId」選択リストを検証しようとしています。

$(".process").click(function () {
    return $("form[action$='process']").validate({
        rules: {
            DestinationId: "required"
        },
        messages: {
            DestinationId: "Please provide the destination"
        }
    }).element("#DestinationId");
});

select要素のレンダリングされたHTMLは次のとおりです。

<select class="required" id="DestinationId" name="DestinationId"
   <option value="">Select Destination</option>
   <option value="3">Europe</option>
   <option value="4">USA</option>
</select>

ただし、表示されるメッセージは「このフィールドは必須です」です。

どこが間違っているのですか?

4

1 に答える 1

0

ライブデモを参照

私はこの方法を試してみましたが、期待どおりにうまくいきました。別の方法で試したかどうかを確認してください。

HTML:

<form action="process">
    <select class="required" id="DestinationId" name="DestinationId">
        <option value="">Select Destination</option>    
        <option value="3">Europe</option>    
        <option value="4">USA</option> 
    </select><br/>
    <button class="process">Submit</button>
</form>

JQuery:

$(".process").click(function () {     
    return $("form[action$='process']").validate({         
        rules: {             
            DestinationId: "required"         
        },         
        messages: {             
            DestinationId: "Please provide the destination"         
        }     
    }).element("#DestinationId"); 
});

編集:

@Jasper Moggが述べたように、選択タグを閉じないと問題が発生する可能性があります。

この行を置き換えます

<select class="required" id="DestinationId" name="DestinationId"

これに

<select class="required" id="DestinationId" name="DestinationId">
于 2012-06-21T13:05:49.933 に答える