开发者问题收集

[Vue 警告]:v-on 处理程序中出现错误:“TypeError:无法读取未定义的属性‘length’”

2021-07-21
154

我遇到了这个错误。我能知道我的代码是否有问题吗?

validateEmail(){
  const emailregex = /^[a-zA-Z0-9+_.-]+@[a-zA-Z0-9.-]+$/
  const emailmatch = emailregex.test(this.userObj.user.email)
  if((!emailmatch) || (this.userObj.user.email.length == undefined)){
    this.errors = []
    console.log(this.userObj.user.email)
    this.errors.push("Email is not valid")
  }

我正在尝试使用正则表达式验证电子邮件地址

2个回答

可能 this.userObj.user.email 未定义,请尝试使用 可选链接 (?.) ,如下所示:

this.userObj.user.email?.length == undefined

cafertayyar
2021-07-21

如果您不确定正则表达式是否有效,您可以根据此处的一些测试字符串进行检查: https://rubular.com/

这样,您就可以消除可能的正则表达式错误。

kissu
2021-07-22