Jquery Validationプラグインのドキュメントでは、少なくとも1つのラジオボタンが選択されていることを確認できます。しかし、いくつかの余分なレイアウトでそれをしようとすると、私はエラーを強調表示されていません。ラジオボタンの周りにエラーを表示
私のコードは次のようになります。
<div class="form-group" style="margin-top:25px;">
<label for="factorSelect" class="control-label col-sm-3">Please select a recovery method</label>
<div class="input-group">
<span class="input-group-addon">
<i class="glyphicon glyphicon-envelope"></i>
</span>
<div class="form-control" style="height:auto;">
<div class="radio">
<label class="noBold-text" style="font-size: 1em">
<input id="factorSelect_email" name="factorSelect" type="radio" value="EMAIL" />Send me an email
<span class="cr"><i class="cr-icon fa fa-circle"></i></span>
</label>
</div>
<div class="radio">
<label class="noBold-text" style="font-size: 1em">
<input id="factorSelect_sms" name="factorSelect" type="radio" value="SMS" />Send an SMS to my phone
<span class="cr"><i class="cr-icon fa fa-circle"></i></span>
</label>
</div>
</div>
</div>
</div>
$("#forgotPasswordForm").validate({
rules: {
fpUsername: {
required: true,
minlength: 3
},
factorSelect: {
required: true
}
},
messages: {
fpUsername: {
required: "Please enter your username or email",
minlength: "Your username must be at least {0} characters"
},
factorSelect: {
required: "You must select a recovery method"
},
},
highlight: function (element, errorClass, validClass) {
$(element).parents(".form-group").addClass("has-error").removeClass("has-success");
},
unhighlight: function (element, errorClass, validClass) {
$(element).parents(".form-group").addClass("has-success").removeClass("has-error");
},
});
has-errorクラスはラジオボタングループに適用されません。
JSは、検証ルールを指定していますか?(うまくいけば[この例](https://jqueryvalidation.org/required-method/#example:-makes-the-gender-radio-buttons-required)のように見えます) – Nick
@heybignick私は検証スクリプトを追加しました。 –
私のプロジェクトであなたのコードを試しました。それは完璧に働いています。 –