在dojo中验证ValidationTextBox的电子邮件?

时间:2012-05-16 12:43:47

标签: validation dojo dijit.form

我正在使用dojo1.7,在这里我正在寻找一个验证电子邮件地址的正则表达式,我在这里使用的是小工具dijit.form.ValidationTextBox。我已经用Google搜索,但一无所获。

这是代码,我将 regExp 属性留空。

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <title>Email Validation</title>
    <link rel="stylesheet" type="text/css" href="http://ajax.googleapis.com/ajax/libs/dojo/1.7/dijit/themes/claro/claro.css">
    <script src="http://ajax.googleapis.com/ajax/libs/dojo/1.7/dojo/dojo.js" data-dojo-config="async: true, parseOnLoad: true"></script>
    <script>
        require(["dojo/parser", "dijit/form/ValidationTextBox"]);
    </script>
</head>
<body class="claro">
    <label for="email">Enter your Email Address:</label>
    <input type="text" name="email" value=""
    data-dojo-type="dijit.form.ValidationTextBox"
    data-dojo-props="regExp:'', required:true, invalidMessage:'Invalid Email Address.'">
</body>
</html>

请有人帮我找到正则表达式。!

3 个答案:

答案 0 :(得分:4)

如果您想验证可选的电子邮件地址,请使用以下JavaScript代码。

dijit.byId("newuser_email2").validator = function(value, constraints){
    if(value == ''){
      return true;
    }
    return dojox.validate.isEmailAddress(value, constraints);
}

请记住在我使用newuser_email2的情况下替换您的输入ID。

答案 1 :(得分:2)

dojox.validate.regexp有一些常用数据的正则表达式,包括电子邮件

regExp: dojox.validate.regexp.emailAddress

答案 2 :(得分:1)

  var emailField = new ValidationTextBox({
        required: true,
        validator: validateWeb.isEmailAddress
    }, "emailField");