Условная проверка с BootstrapValidation
Я использую BootstrapValidation в форме, и я хочу иметь некоторые проверки, только если заполнено другое поле.
Например, у меня есть эта форма:
<form>
<input type="text" name="name"/>
<input type="text" name="age"/>
</form>
Я хочу проверить, заполнен ли возраст, только если есть имя.
Есть ли решение?
1 ответ
Решение
Возможно, что-то вроде этого:
$(document).ready(function() {
$('form')
.bootstrapValidator({
fields: {
name: {
enabled: false,
validators: {
notEmpty: {
message: 'The name is required and cannot be empty'
}
}
},
age: {
enabled: false,
validators: {
notEmpty: {
message: 'Age is required if name is set'
}
}
}
}
})
.on('keyup', '[name="name"]', function() {
var isEmpty = $(this).val() == '';
$('form')
.bootstrapValidator('enableFieldValidators', 'name', !isEmpty)
.bootstrapValidator('enableFieldValidators', 'age', !isEmpty);
// Revalidate the field when user start typing in the name field
if ($(this).val().length == 1) {
$('form').bootstrapValidator('validateField', 'name')
.bootstrapValidator('validateField', 'age');
}
});
});