Mongoose - valider l'e-mail de la syntaxe
J'ai une mangouste schéma pour les utilisateurs (UserSchema) et je voudrais vérifier si le mail a le droit de syntaxe. La validation que j'utilise actuellement est la suivante:
UserSchema.path('email').validate(function (email) {
return email.length
}, 'The e-mail field cannot be empty.')
Toutefois, cela vérifie seulement si le champ est vide ou pas, et pas pour la syntaxe.
Fait quelque chose existe déjà que j'ai pu réutiliser ou devrais-je venir avec ma propre méthode et l'appeler à l'intérieur de la validation de la fonction?
Vous devez vous connecter pour publier un commentaire.
Vous pouvez utiliser une expression régulière. Jetez un oeil à cette question: Valider l'adresse e-mail dans le JavaScript?
J'ai utilisé dans le passé.
email.text
attribut?vous pouvez également utiliser la match ou la valider propriété pour la validation du schéma
exemple
validate
etmatch
?match
spécifie une validation regex directement.- Je utiliser validateur pour mon entrée à l'assainissement, et il peut être utilisé dans une façon plutôt cool.
De l'installer et de l'utiliser ensuite comme suit:
fonctionne un régal, et se lit agréablement.
const
n'était pas disponible dans l'ES5, malheureusement.La validateur
dosn pas de bien jouer avec la mangouste à se débarrasser de l'avertissement mis isAsync de faux
isAsync: false
, la validation n'a pas de travail dans mon cas, j'ai été en utilisant la mangouste avec une promesse. mangouste version5.2.13
Pour une raison quelconque
ne joue pas bien avecvalidate: [ isEmail, 'Invalid email.']
validate()
tests.Mais mangouste 4.x (il peut fonctionner pour les versions plus anciennes aussi) a d'autres options qui travaillent main dans la main avec les tests Unitaires.
Même validateur:
Plusieurs validateurs:
Comment valider email:
Ma recommandation: laissons cela aux spécialistes, qui ont investi des centaines d'heures dans la construction correcte des outils de validation. (déjà répondu dans ici ainsi)
npm install --save-dev validateur
User
schéma et que vous utilisezUser.findOne
avant de schéma a été déclarée.Type de messagerie pour les schémas - mongoose-type-e-mail