我在网上和pugin文档中经过长时间的研究后写了这个问题。我可能在这里错过了什么,但我找不到什么。
我正在使用bootstrapvalidator(http://bootstrapvalidator.com/)插件尝试在bootstrap模式中验证表单。
我的表单代码:
<form method="POST" action="/venues/update" accept-charset="UTF-8" id="editForm">
<input name="id" type="hidden" value="XYZ">
...
[other form fields...]
...
<button type="submit" class="btn bg-black">Modifier</button>
</form>
我的js验证代码:
$('#editForm')
.bootstrapValidator({
message: 'Cette valeur ne peut pas être utilisée.',
feedbackIcons: {
valid: 'glyphicon glyphicon-ok',
invalid: 'glyphicon glyphicon-remove',
validating: 'glyphicon glyphicon-refresh'
},
submitHandler: function(validator, form, submitButton) {
alert('submit!!');
},
fields: {
venue_name: {
message: 'Ce nom n\'est pas valide.',
validators: {
notEmpty: {
message: 'Le nom du lieu ne peut pas être vide.'
},
stringLength: {
min: 5,
max: 30,
message: 'Le nom doit être d\'au moins 5 caractères'
},
regexp: {
regexp: /^[a-zA-Z0-9_ ]+$/,
message: 'Le nom ne peut pas contenir de caractères spéciaux.'
}
}
},
max_capacity: {
message: 'Cette valeur n\'est pas valide.',
validators: {
notEmpty: {
message: 'Ce champs ne peut pas être vide.'
},
regexp: {
regexp: /^[0-9]+$/,
message: 'Ce champs nécessite une valeur numérique entière.'
}
}
},
venue_status: {
validators: {
notEmpty: {
message: 'Le status doit être défini.'
}
}
},
venue_location: {
validators: {
notEmpty: {
message: 'La localisation doit être définie.'
}
}
}
}
});
我的问题是我的验证步骤运行良好。虽然没有提交表单,所以我尝试将此警报测试添加到调试中。警报也没有出现,这似乎表明commitHelper未被触发。我现在很失落。
答案 0 :(得分:7)
您似乎正在使用旧版本的插件。
根据{{3}}指南,从v0.5.0开始,该插件会删除submitHandler
选项。
请改用success.form.bv
事件处理程序。
您可以尝试以下代码:
$('#editForm')
.bootstrapValidator(options)
.on('success.form.bv', function(e) {
e.preventDefault(); // Prevent the form from submitting
alert('I am going to do other things');
// ... Do whatever you want
// If you want to submit the form, use the defaultSubmit() method
// http://bootstrapvalidator.com/api/#default-submit
$('#editForm').bootstrapValidator('defaultSubmit');
});