2

据我了解,jqBootstrapValidation 应该自动验证 html5 元素,如下所示:

<input type="number" class="form-control" name="ordPrice" placeholder="Price" data-validation-number-message="Not a number">

但是,事实并非如此。这是我的js绑定:

$('#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');
    }
});

我在这里错过了一些非常基本的东西吗?

4

1 回答 1

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-groupcontrols它将无法工作。来自输入的结构随着 Twitter 的 Bootstrap 3发生了变化。control-group已经被替换为form-group和许多其他变化。由于这个原因,这个插件还没有准备好与 Twitter 的 Bootstrap 3 一起使用。

另请参阅: http: //getbootstrap.com/css/#forms-control-states(验证状态)。您应该尝试让您的验证者使用它。

于 2013-09-30T08:48:08.660 回答