フォームでBootstrapValidationを使用していますが、別のフィールドが入力されている場合にのみいくつかの検証を行いたいと考えています。
たとえば、次のフォームがあります。
<form>
<input type="text" name="name"/>
<input type="text" name="age"/>
</form>
名前がある場合のみ年齢が埋まっているか確認したい。
解決策はありますか?
フォームでBootstrapValidationを使用していますが、別のフィールドが入力されている場合にのみいくつかの検証を行いたいと考えています。
たとえば、次のフォームがあります。
<form>
<input type="text" name="name"/>
<input type="text" name="age"/>
</form>
名前がある場合のみ年齢が埋まっているか確認したい。
解決策はありますか?
おそらくこのようなもの:
$(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');
}
});
});