Mungo - Validierung der E-Mail-syntax
Ich habe eine mongoose-schema für Benutzer (UserSchema) und ich möchte, um zu überprüfen, ob die E-Mail hat die richtige syntax. Die Bestätigung, dass ich derzeit verwenden, ist die folgende:
UserSchema.path('email').validate(function (email) {
return email.length
}, 'The e-mail field cannot be empty.')
Ist dies jedoch nur überprüft, wenn das Feld leer ist oder nicht, und nicht für die syntax.
Tut etwas, was bereits vorhanden ist, konnte ich wieder verwenden oder müsste ich, um mit meiner eigenen Methode, und rufen, daß es in der validate-Funktion?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Können Sie einen regex verwenden. Werfen Sie einen Blick auf diese Frage: Validierung der E-Mail-Adresse in JavaScript?
Ich habe dies in der Vergangenheit.
email.text
- Attribut?konnte man auch mit dem match oder die überprüfen Eigenschaft für die Validierung in der schema -
Beispiel
validate
undmatch
?match
gibt eine regex Validierung direkt.Benutze ich validator für meine Eingabe sanitäre Einrichtungen, und es kann verwendet werden, in einer ziemlich coolen Weise.
Installieren Sie es, und verwenden Sie dann etwa so:
Werk behandeln, und liest schön.
const
war nicht verfügbar, in ES5 leider.import isEmail from 'validator/lib/isEmail';
Den validator
somit nicht gut spielen mit Mungo, um loszuwerden, das Warnung eingestellt isAsync auf false
isAsync: false
Validierung nicht funktioniert hat in meinem Fall, ich war mit Mungo mit Versprechen. mongoose version5.2.13
Aus irgendeinem Grund
nicht gut spielen mitvalidate: [ isEmail, 'Invalid email.']
validate()
tests.Aber Mungo 4.x (es könnten auch ältere Versionen) hat andere alternative Optionen, die hand in hand arbeiten mit Unit tests.
Einzelnen Prüfer:
Mehrere Prüfer:
Wie überprüft wird, E-Mail:
Meine Empfehlung: Lassen Sie das zu Experten, die investiert haben Hunderte von Stunden in den Aufbau der richtigen Validierungs-tools. (schon beantwortet hier auch)
npm install --save-dev-validator
E-Mail-Typ für Schemata - Mungo-Typ-E-Mail
User
schema und verwenden SieUser.findOne
vor schema deklariert wurde.