dojox 电子邮件验证器总是失败

dojox email validator always fails

我正在尝试使用带有 isEmailAddress 验证器的 dijit/form/ValidationTextBox 来检查有效电子邮件,问题是有效电子邮件被标记为无效。

请注意,我通过包含 "dojox/validate/web" 使验证器工作,但在我的登录函数中该表单总是评估为无效

我的代码是: HTML:

  <form data-dojo-type="dijit/form/Form" id="FormLogin">
    ...
    <input type="text" required="true" name="email" data-dojo-attach-point="tbEmail"
                                   data-dojo-type="dijit/form/ValidationTextBox"
                                   validator="dojox.validate.isEmailAddress"
                                   invalidmessage="Not a valid email" />

<button data-dojo-type="dijit/form/Button" type="button"
                                data-dojo-attach-point="LogInButton" data-dojo-attach-event="onClick:Login">
                            Login
                        </button>
    ...

    </form>

JavaScript:

  define([
  "dojo/_base/declare",
  "dijit/Dialog",
  "dijit/form/Form",
  "dijit/registry",
  "dijit/form/ValidationTextBox",
  "dojox/validate",
  "dojox/validate/web",
  "dijit/_WidgetBase",
  "dijit/_TemplatedMixin",
  "dijit/_WidgetsInTemplateMixin",
  "dojo/text!Templates/LoginForm.htm"
], function (
     declare, Dialog, Form, registry, ValidationTextBox, validate, web, _WidgetBase, _TemplatedMixin,
     _WidgetsInTemplateMixin, LoginFrmTpl) {
    return declare([_WidgetBase, _TemplatedMixin, _WidgetsInTemplateMixin], {
        templateString: LoginFrmTpl,
        postCreate: function () {

        },
        Login: function () {
            if (registry.byId("FormLogin").validate == true) { //this never evaluates to true, even when the email is valid
                alert("we can submit the data")
            }
            else {
                alert("error in form")
            }


        }

    });
});

有什么想法吗?无论在 tbEmail

中输入什么文本,都会出现无效消息

谢谢

我通过验证文本框 tbEmail 让它工作。我将登录功能更改为以下内容:

Login: function () {
            if (registry.byId("tbEmail").isValid() == true) {
                alert("we can submit the data")
            }
            else {
                alert("error in form")
            } 
        }