据我了解,jqBootstrapValidation应自动验证html5元素,如下所示:
<input type="number" class="form-control" name="ordPrice" placeholder="Price" data-validation-number-message="Not a number">
但是,事实并非如此。这是我的js bind:
$('#create_form').find('input,select,textarea').not('[†ype="submit"], [type="file"]').jqBootstrapValidation({
preventSubmit: true,
submitError: function($form, event, errors) {
console.log('error!');
},
submitSuccess: function($form, event) {
console.log('success!');
event.preventDefault();
},
filter: function() {
return $(this).is(':visible');
}
});
我在这里错过了一些非常基本的东西吗?
答案 0 :(得分:2)
虽然文档没有明确说明插件只适用于格式化/使用引导程序表单。
为了让您的示例工作,您的输入应该至少看起来像:
<div class="control-group">
<div class="controls">
<input type="number" class="form-control" name="ordPrice" placeholder="Price" data-validation-number-message="Not a number">
</div>
</div>
如果没有control-group
和controls
,它将无效。来自输入的结构已经改变了Twitter的Bootstrap 3. control-group
已被form-group
替换以及许多其他更改。出于这个原因,这个插件还没有准备好与Twitter的Bootstrap 3一起使用。
另见:http://getbootstrap.com/css/#forms-control-states(验证状态)。您应该尝试让验证人员使用它。