【问题标题】:Validation isn't working for me for a bootstrap form验证不适用于引导表单
【发布时间】:2014-09-08 23:46:06
【问题描述】:

谁能帮我找出我在下面分享的小提琴中的错误。好像我做错了什么,因为验证对我不起作用。当我尝试在 chrome 中调试时出现以下错误

未捕获的类型错误:无法读取 null 的属性“nodeType”

$(document).ready(function () {
        $('#createServiceSpace').validate({
            rules: {
                serviceName: {
                    minlength: 5,
                    maxlength: 20,
                    required: true
                },
                serviceOwners: {
                    required: true,
                }
            },
            highlight: function(element) {
                $(element).closest('.control-group').addClass('has-error');
            },
            unhighlight: function(element) {
                $(element).closest('.control-group').removeClass('has-error');
            },
            errorElement: 'span',
            errorClass: 'help-block',
            errorPlacement: function(error, element) {
                if (element.parent('.controls').length) {
                    error.insertAfter(element.parent());
                } else {
                    error.insertAfter(element);
                }
            }
        });
    });

http://jsfiddle.net/98hoL701/

【问题讨论】:

标签: javascript jquery html twitter-bootstrap validation


【解决方案1】:

http://jsfiddle.net/98hoL701/3/

据我所知,验证仅适用于表单,而不适用于 div。

您还尝试在单击 href 时进行验证,默认情况下,验证适用于输入提交。

所以我在您的示例中添加了表单并验证了表单,也称为 href 点击验证:

$("#aNext").on("click", function(){
    var val = $('#myform').valid();

    if (!val)
    {
        return false;
    }
});

【讨论】:

  • 好奇这也有助于验证正则表达式模式吗?
  • 谷歌为此找到了很多答案,即参见this link 了解 regex 和 validator.addMethod
  • 是的,我已经找到了你上面提到的解决方案。但我正在寻找 jquery 验证器默认提供的东西。不过谢谢你的回答
  • 试试 $("#form").validate({ rules: { "password": { required: true, pattern: /^[A-Za-z0-9\w]{4, 20}/ } } });
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-11-10
  • 2016-06-04
  • 1970-01-01
相关资源
最近更新 更多