gpt4 book ai didi

JavaScript - 如果电子邮件错误则设置类

转载 作者:行者123 更新时间:2023-11-30 17:29:16 25 4
gpt4 key购买 nike

在过去的 40 分钟里,我一直在努力寻找这不起作用的原因。

所以,我有这个功能来检查电子邮件是否有效

checkEmail: function () { // CHECK IF E-MAIL IS WRONG OR NOT
var check = /^[\w\.\+-]{1,}\@([\da-zA-Z-]{1,}\.){1,}[\da-zA-Z-]{2,6}$/;
if (!check.test(this.options.email.get('value'))) {
return false
}
return true
},

效果很好!

现在,我需要设置一个 error 类来在验证期间设置输入样式。为此,我使用了这个:

var s_email = this.options.email.get('value');
if ((s_email == '') || (s_email == this.options.email_text) || (s_email == 'Give me your e-mail') || (!checkEmail())) { // CHECK AND STYLE E-MAIL INPUT FORM
this.options.email.set("class", "error")
} else {
this.options.email.set("class", "success")
}

但不管用,总是给我 error,即使那里有有效的电子邮件。

最佳答案

一个问题是 checkEmail() 在没有上下文对象(this 的值)的情况下被调用:

if (... || (!checkEmail())) {

但是,它希望有一个具有特定结构的:

if (!check.test(this.options.email.get('value'))) {
// ^^^^

this 的值是在调用 function 时确定的,而不是它的定义方式。但是,您可以使用 .call(thisArg)指定它的值,允许您传递当前上下文对象。

if (... || (!checkEmail.call(this))) {

关于JavaScript - 如果电子邮件错误则设置类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23522336/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com