如何使用bootstrap验证器验证组合框

时间:2014-08-25 09:44:21

标签: jquery twitter-bootstrap validation grails

我想验证我的表单字段以检查它是否为空。这就是我使用bootstrap验证的原因。但它仅在我的文本字段上验证,而不在选择框上验证。如果我没有选择任何值,则提交带有该选择框的null的表单。我已经搞砸了,但没有找到结果。请问有人请帮帮我吗?我也在使用grails。这是我的文本字段和下面给出的选择框之一:

我的textfield>>>

 <g:textField name="presidentName" id="presidentName" class="form-control" required=""/>

我的选择框&gt;&gt;&gt;

<g:select class="form-control"
      name="divisionId"
      id="divisionId"
      from="${division}"
      optionKey="id"
      optionValue="name"
      noSelection="['null':'Select Division']"
      width="130"
      required="required"
      onchange="loadDistrict(this.value)"/>

我对文档准备的验证&gt;&gt;&gt;

<script>
    $(document).ready(function() {
        $('#wardCommittee').bootstrapValidator({
            fields: {
                divisionId: {
                    message: 'The Division Name is not valid',
                    validators: {
                        required: {
                            message: 'Division is required and cannot be empty'
                        }
                },
                presidentName: {
                    validators: {
                        notEmpty: {
                            message: 'Ward President Name is required and can not be empty'
                        }
                    }
                }
            }
        });
    });

2 个答案:

答案 0 :(得分:0)

您似乎尝试使用不存在的验证程序。对于字段divisionId,您尝试使用名为required的验证程序。根据{{​​3}},required不存在。

就像您使用presidentName一样,我确定您打算使用notEmpty验证程序。

divisionId: { message: 'The Division Name is not valid', validators: { notEmpty: { message: 'Division is required and cannot be empty' } } }

我不确定它是否只是一个复制/粘贴错误,但此外,您似乎缺少关闭validators对象中divisionId对象的括号。不过,我已将它包含在上面的代码中。

答案 1 :(得分:0)

我已经解决了这个问题。只需保持选择框默认值为空而不是noSelection属性为null,它就可以工作。这里它如下&gt;&gt;&gt;

<g:select class="form-control"
  name="divisionId"
  id="divisionId"
  from="${division}"
  optionKey="id"
  optionValue="name"
  noSelection="['':'Select Division']"
  width="130"
  required="required"
  onchange="loadDistrict(this.value)"/>