У меня есть простая формаJQuery Validation - пользовательские правила
<form role="form" id="my_form" class="form-horizontal">
<label class="radio">
<input type="radio" name="reason[]" id="reasonOne" value="1"> Something
</label>
<label class="radio">
<input type="radio" name="reason[]" id="reasonTwo" value="2"> Something else
</label>
<label class="radio">
<input type="radio" name="reason[]" id="reasonThree" value="Other"> Other
</label>
<input type="text" name="reason[]" placeholder="Please specify" id="other" class="form-control">
</form>
Дно радио контролирует ввод текста. Первоначально это скрыто, и я
$('input:radio[name="reason[]"]').change(
function(){
if ($(this).is(':checked') && $(this).val() == 'Other') {
$('#other').css("display", 'block');
} else {
$('#other').css("display", 'none');
}
}
);
Определение правил для радио-кнопок прямо вперед, мне просто нужно, чтобы убедиться, что выбран один. У меня есть несколько вопросов с настраиваемым правилом. По сути, если выбрано reasonThree, мне нужно убедиться, что они что-то вводят в текстовый ввод, который отображается в этот момент. В этот момент я пытаюсь сделать что-то вроде следующего.
jQuery.validator.addMethod('customrule', function() {
if($("input[id='reasonFive']:checked")) {
if(('#other').val().length == 0) {
return false;
} else {
return true;
}
}
return false;
}, 'Please input a reason');
var validator = $("#my_form").validate({
rules: {
'reason[]': {
required: true,
customRule: true
}
},
messages: {
'reason[]': {
required: jQuery.validator.format("Please select an option")
}
}
});
Если они выбирают последний переключатель, как я могу убедиться, что они что-то вставляют в текстовую область?
Благодаря
Спасибо, если вы добавите в качестве ответа я отметит это правильно. –