我有一个用于用户的Mongoose模式(UserSchema),我想验证电子邮件是否具有正确的语法。我当前使用的验证如下:
UserSchema.path('email').validate(function (email) { return email.length }, 'The e-mail field cannot be empty.')
但是,这仅检查字段是否为空,而不检查语法。
是否已经存在一些我可以重用的东西,或者我必须提出自己的方法并在validate函数中调用它?
您可以使用正则表达式。
我过去曾经使用过。
UserSchema.path('email').validate(function (email) { var emailRegex = /^([\w-\.]+@([\w-]+\.)+[\w-]{2,4})?$/; return emailRegex.test(email.text); // Assuming email has a text attribute }, 'The e-mail field cannot be empty.')