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")
}
}
我正在尝试使用带有 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")
}
}