【问题标题】:Validating e-mail from specific domains with RSV jquery plug-in使用 RSV jquery 插件验证来自特定域的电子邮件
【发布时间】:2011-03-31 17:25:50
【问题描述】:

我正在尝试使用 Ben Keen 的 RSV Jquery 插件来验证通过注册表单提交的电子邮件地址:用户只能提交属于特定域的电子邮件地址。我认为使用插件的 reg_exp 规则可能是一个解决方案,但我无法让它工作。 我是一个 jquery 新手,所以我可能会犯一些非常愚蠢的错误:有人能指出我正确的方向吗?

这是我尝试使用的代码,改编自 Keen 的演示之一:

<script type="text/javascript">

  // a custom onComplete handler to prevent form submits for the demo
  function myOnComplete()
  {
    alert("The form validates! (normally, it would submit the form here).");
    return false;
  }

    var rules = [];

// standard form fields

rules.push("reg_exp,reg_exp_field1,/@mydomain\.tld$/gi,Please enter your valid e-mail (e.g. \"@mydomain\.tld\")");


$(document).ready(function() {
    $("#demo_form3").RSV({
    onCompleteHandler: myOnComplete,
    rules: rules
    });
}); 
</script>

使用上面的代码,当我提交一个有效的电子邮件地址,即一个以@mydomain.tld 结尾的地址时,我总是会收到警报。我做错了什么?

【问题讨论】:

    标签: javascript jquery regex jquery-plugins email-validation


    【解决方案1】:

    我已经为多行代码编写了 RSV。它非常强大。 但是,您错误地使用了它。

    1. 您应该定义一个自定义函数,而不是其默认的电子邮件格式验证方法。
    2. 你应该把上面提到的那个“自定义函数”放到验证数组中,而不是把它放到“myOnComplete”方法中,这个方法只有在所有验证都通过时才调用。
    3. 在 RSV 中,自定义函数仅应返回“true”(通过时)或“Array”(失败时)。但在上面的示例中,您实现为“return false”。

    无论如何,你已经用另一种方式解决了你的问题。 :-) 这很好。

    【讨论】:

    • 您好,Siwei,感谢您指出我的错误。说到 jquery/javascript,我是一个完整的新手,我正在通过反复试验来学习。感谢您回答我的问题:-)
    【解决方案2】:

    没关系,经过进一步研究,我找到了一个更简单的解决方案:按照this forum thread 中的建议,我使用 jqueryValidate 而不是 rsv 插件并添加了自定义验证方法。 我在这里发布我的解决方案,也许它对像我这样的其他 jquery 新手有用!

      $(document).ready(function(){
    
    $.validator.addMethod("gmail", function(value, element) {
        return this.optional(element) || /^[\w-\.]+@(gmail\.com|yahoo\.com)+$/i.test(value);
    }, "Email address must contain gmail or yahoo addresses."); 
    
        $("#register_member_form").validate();
    });
    

    【讨论】:

      猜你喜欢
      • 2015-05-16
      • 2012-08-23
      • 1970-01-01
      • 2013-12-13
      • 1970-01-01
      • 2018-04-30
      • 2022-12-05
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多