1

目立たない検証を有効にしました。私のページソースは次のようになります。

<p>
    <label>
        Project Title
        <br />
        <input class="project-title" data-val="true" data-val-required="The Project Title field is required."
            id="RequestDetail_ProjectTitle" name="RequestDetail.ProjectTitle" type="text"
            value="" />
    </label>
    <span class="field-validation-valid" data-valmsg-for="RequestDetail.ProjectTitle"
        data-valmsg-replace="true"></span> </p> <p>
    <span>Submitted By</span><br />
    <span class="inline-container">
        <input type="hidden" id="RequestDetail_SubmittedBy" name="RequestDetail.SubmittedBy"
            value="0" data-type="RequestDetail.SubmittedBy" /><label><input type="radio" data-type="RequestDetail.SubmittedBy"
                name="_RequestDetail.SubmittedBy" value="1" data-val="true" data-val-required="The Submitted By field is required." />ND</label>
        |
        <label>
            <input type="radio" data-type="RequestDetail.SubmittedBy" name="_RequestDetail.SubmittedBy"
                value="2" data-val="true" data-val-required="The Submitted By field is required." />NE</label>
        |
        <label>
            <input type="radio" data-type="RequestDetail.SubmittedBy" name="_RequestDetail.SubmittedBy"
                value="4" data-val="true" data-val-required="The Submitted By field is required." />WY</label>
        |
        <label>
            <input type="radio" data-type="RequestDetail.SubmittedBy" name="_RequestDetail.SubmittedBy"
                value="8" data-val="true" data-val-required="The Submitted By field is required." />CL</label>
    </span><span class="field-validation-valid" data-valmsg-for="_RequestDetail.SubmittedBy"
        data-valmsg-replace="true"></span> </p> <p>
    <span>Affected Plans</span><br />
    <span class="inline-container">
        <input type="hidden" id="RequestDetail_AffectedPlans" name="RequestDetail.AffectedPlans"
            value="0" data-type="RequestDetail.AffectedPlans" /><label><input type="checkbox"
                data-type="RequestDetail.AffectedPlans" name="_RequestDetail.AffectedPlans" value="1"
                data-val="true" data-val-required="The Affected Plans field is required." />ND</label>
        |
        <label>
            <input type="checkbox" data-type="RequestDetail.AffectedPlans" name="_RequestDetail.AffectedPlans"
                value="2" data-val="true" data-val-required="The Affected Plans field is required." />NE</label>
        |
        <label>
            <input type="checkbox" data-type="RequestDetail.AffectedPlans" name="_RequestDetail.AffectedPlans"
                value="4" data-val="true" data-val-required="The Affected Plans field is required." />WY</label>
    </span><span class="field-validation-valid" data-valmsg-for="_RequestDetail.AffectedPlans"
        data-valmsg-replace="true"></span> </p>

検証時の出力は次のとおりです。

ここに画像の説明を入力してください

ラジオボタンとこれに示されているチェックボックスを使用して、すべて同じ方法で適用しました。しかし、ラジオボタンで期待したものが表示されているのに、チェックボックスで検証エラーが表示されないのはなぜですか。

4

1 に答える 1

1

あなたがそれについて考えるならば、チェックボックスはそれらがチェックされているかどうかにかかわらず検証に合格します。それらは(おそらく)モデル内のプロパティによって裏付けられるboolため、trueまたはfalseのいずれかである必要があります。チェックされている場合はtrue、チェックされていない場合はfalseです。これはブール値として完全に有効な値です。この場合の唯一の無効な値はnull、チェックボックスでは不可能な値です。

ユーザーがチェックボックスをオンにしたことを検証することが目標である場合は、MustBeTrueバリデーターが必要になります。例については、こちらをご覧ください。

trueとfalseの両方が有効な値であり、ユーザーにどちらか一方を選択させる場合は、オプションとして「はい」、「いいえ」、および「指定してください」を指定したドロップダウンを使用します。

于 2012-08-01T21:46:12.090 に答える