2017-09-13 12 views
-1

ラジオボタンが選択され、入力ボックスが何らかの理由で空になっている場合、フォームの送信中にjQueryを使用してエラーメッセージを表示しようとしています。どんな提案も感謝しています!ラジオ入力に基づく入力フ​​ィールドの検証とエラーメッセージの表示

<div class="row col-lg-offset-2 top-buffer"> 
<h4> 
    <strong> 
     <span>Is Account Deleted?:</span> 
    </strong> 
</h4> 
      @Html.RadioButtonFor(model => model.IsDeleted, true) @Html.Label("Yes") 
      @Html.RadioButtonFor(model => model.IsDeleted, false) @Html.Label("No") 

<br> 
</div> 
<div class="row col-lg-offset-2 top-buffer" id="reason"> 
    <div class="col-sm-2"> 
     <b>Reason for Delete:</b> 
    </div> 
    <div class="col-sm-10"> 
     @Html.TextBoxFor(model => model.reason, new { @class = "form-control", @id = "reason" }) 

     <br /> 
    </div> 
    <div class="row col-sm-12"> 
     <label id="lblErrorMsg" class="has-error" style="color: #BD362F"></label> 
    </div> 
    <div class="col-sm-4"> 
     <button type = "submit" id="Next" name="Next" class="btn btn-primary">Next</button> 
    </div> 
</div> 

スクリプト:

<script> 
$("#Next").click(function() { 
    if ($("input[name='IsDeleted']" === "True" && $("#reason").val(''))) { 
     $("#lblErrorMsg").text("Please enter meter number"); 
    } else { 
     $("#lblErrorMsg").text(""); 
    } 
}); 

+0

試みを持っていることを確認して改善されましたか? – clearshot66

+0

条件付き検証属性を使用します([前の質問]のコメントを参照してください(https://stackoverflow.com/questions/46181191/hide-display-a-input-field-based-on-value-from-htmlradiobuttonfor-and -make-it-ma)) –

+0

@StephenMueckeリンクをありがとう、本当に役に立ちました。しかし、私はビューでこの検証を実行しようとしています。どちらが良いですか?このアプローチも同様に機能します。 –

答えて

0

私は完全なHTMLコードを参照してくださいが、のではなく、しようとしていないので、私は確認することはできません。

if ($("input[name='IsDeleted']" === "True" && $("#reason").val(''))) { 

this:

if ($("input[name='IsDeleted']:checked").val() === "True" && $("#reason").val() == '') 
は少しに答えるが、IsDeletedラジオボタンがtrue`の真実ではない、またあなたの理由があるが、実際に構築 `値「真」

+0

Ahまことにありがとうございます!できます。そんなルーキーミス! –

+0

うれしいことに喜んで、私の改善された答えが同様に働くことを確認できますか? – pegla

+0

そうですね、どちらもうまくいきます! –