jQuery验证插件addMethod错误触发

洛根·埃瑟顿

我肯定想念一些明显的东西,但是我为此所做的一切都让我无所事事,所以我有些困惑。

我正在尝试将jQuery验证插件与自定义验证方法一起使用,但似乎很成功。看来我能够在一定程度上成功添加规则,但是某些方法没有应用。或者没有应用指定的方法,而是应用了错误的方法。

因此,例如,这可以顺利进行:

$.validator.addMethod("emailValidation",
    function(value, element) {
        return /^((([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+(\.([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+)*)|((\x22)((((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(([\x01-\x08\x0b\x0c\x0e-\x1f\x7f]|\x21|[\x23-\x5b]|[\x5d-\x7e]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(\\([\x01-\x09\x0b\x0c\x0d-\x7f]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]))))*(((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(\x22)))@((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.?$/.test(value);
    },
    "Please enter a valid email address."
);
$.validator.addMethod("password",
    function(value, element) {
        return /[^\s]{6,25}/.test(value);
    },
    "Please enter a password between 6 and 25 characters long."
);
...
$(function(){
    $("#registrationForm").validate({
        rules: {
            email: {
                required: true,
                emailValidation: true
            },
            password: {
                required: true,
                password: true
            },
        }
    });
});

密码验证和电子邮件验证均有效。

但是,然后我以同样的精确方式添加了名称验证测试。因此,在密码方法结束处的下面,我添加:

$.validator.addMethod("name",
    function(value, element) {
        return /[^\s]{6,25}/.test(value);
    },
    "Please enter a valid name."
);

将验证调用转换为:

$(function(){
    $("#registrationForm").validate({
        rules: {
            email: {
                required: true,
                emailValidation: true
            },
            password: {
                required: true,
                password: true
            },
            studentFirstName: {
                name: true
            }
        }
    });
});

突然之间,一切都只是在验证名称。电子邮件和密码字段现在都使用名称方法进行验证,名称字段也是如此。

这很混乱!我已经向所有方法添加了console.log调用,的确,并不是一个被另一个调用,而是唯一被调用的名字是name。

我检查并再次检查了元素选择是否正确。我已经检查了方法本身是否具有通用性。有任何想法吗?

活泼的

我不确定nameJavaScript中是否是保留字,但是由于插件使用name属性来跟踪输入,因此也许您应该使用更具创意的字来命名您的自定义方法。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

错误触发前

来自分类Dev

MVC非侵入式验证错误触发

来自分类Dev

jQuery验证程序addMethod始终显示错误

来自分类Dev

错误触发。触发而不返回。PostgreSQL

来自分类Dev

错误触发插入后插入

来自分类Dev

AVR外部中断错误触发

来自分类Dev

错误触发事件的替代方法

来自分类Dev

管理员错误触发中的BaseInlineFormSet清洁方法?

来自分类Dev

Oracle语法错误触发器

来自分类Dev

Oracle语法错误触发器

来自分类Dev

jQuery验证插件错误消息布局

来自分类Dev

jQuery Form插件的Cakephp Uploader验证错误

来自分类Dev

jQuery验证器addMethod不起作用

来自分类Dev

jQuery验证addMethod不起作用

来自分类Dev

jQuery验证程序addMethod始终返回false

来自分类Dev

jQuery验证addmethod始终返回false

来自分类Dev

jQuery验证程序addMethod不更新UI

来自分类Dev

jQuery 验证 addMethod() 参数始终返回 true

来自分类Dev

如果使用jQuery验证程序插件发现单选按钮按钮,则将不同的addMethod应用于字段

来自分类Dev

jQuery验证插件和工具提示插件错误

来自分类Dev

即使发生验证错误,jQuery验证插件也会提交

来自分类Dev

什么错误触发了哎呀,无法在kik Web应用程序中加载错误

来自分类Dev

jQuery验证插件单个元素的错误放置

来自分类Dev

Twitter Bootstrap和jQuery验证插件-位置或错误文本

来自分类Dev

仅将错误触发的电子邮件发送给选定的管理员

来自分类Dev

在MySQL DBMS中引发应用程序错误触发器

来自分类Dev

仅将错误触发的电子邮件发送给选定的管理员

来自分类Dev

Jenkins通过推送到Github获得错误触发器

来自分类Dev

网络错误触发 server.R 中的下载报告(报告生成)操作两次

Related 相关文章

热门标签

归档