【问题标题】:How to validate combo box with bootstrap validator如何使用引导验证器验证组合框
【发布时间】:2014-08-25 09:44:21
【问题描述】:

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

我的文本框 >>>

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

我的选择框>>>

<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)"/>

我的文档验证准备就绪>>>

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

【问题讨论】:

    标签: jquery twitter-bootstrap validation grails


    【解决方案1】:

    您似乎尝试使用不存在的验证器。对于字段divisionId,您正在尝试使用名为required 的验证器。根据this documentationrequired 不存在。

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

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

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

    【讨论】:

    • 感谢您的方法。这是行不通的。但我已经完成了这项工作,并将其作为答案。
    【解决方案2】:

    我已经解决了这个问题。只需在 noSelection 属性处保持选择框默认值为空而不是 null 即可。这里如下>>>

    <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)"/>
    

    【讨论】:

    • 澄清一下,您仍然需要更改 javascript 中的验证器,对吗?除非您自己编写,否则库中不存在“必需”验证器。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多