【问题标题】:e-mail validation happening despite required: false,尽管需要,但仍会进行电子邮件验证:假,
【发布时间】:2017-05-10 10:35:39
【问题描述】:

我正在使用 jquery 验证插件。我想保持电子邮件是可选的,并且只有在我们在字段中输入时才想验证它。我已经尝试过 required: false, in rules 但验证仍在进行中。请帮忙。

$( document ).ready( function () {

    $.validator.addMethod("customemail", 
            function(value, element) {
                return /^\b[A-Z0-9._%-]+@[A-Z0-9.-]+\.[A-Z]{2,4}\b$/i.test(value);
            }
        );

    $( "#signupForm" ).validate( {
            rules: {
email: {
                required: false,
                customemail: true 
            },
messages: {
email: {
                customemail: "Please enter a valid e-mail address",
            },

【问题讨论】:

    标签: jquery validation


    【解决方案1】:

    修改你的代码,如下所示:

    $.validator.addMethod("customemail", function(value, element) {
            if ($("#email").val().length == 0) {
                return true;
            }
            else if ($("#email").val().length > 0) {
                return /^\b[A-Z0-9._%-]+@[A-Z0-9.-]+\.[A-Z]{2,4}\b$/i.test(value);
            }
        },"Please enter a valid e-mail address");
    

    并从您的验证规则中删除 required: false 以及 customemail: "Please enter a valid e-mail address" 从消息中。

    $("#email").val() - 确保 id 与输入 id 相同

    希望对你有帮助

    【讨论】:

    • 嗨...尝试将代码更改为这个,但没有成功。
    • 检查 value.length 的值。你在里面做什么?
    • value.length 按照建议用作 >0,但仍在验证中
    • 或者是因为为customemail定义的消息?谢谢
    • 提交表单时,未在电子邮件字段中填写任何数据,我收到错误消息。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-11-08
    • 2012-03-26
    • 2011-03-21
    • 2017-03-06
    • 1970-01-01
    • 2020-03-28
    相关资源
    最近更新 更多