2017-08-22 2 views
1

Ich hatte ein userSchema, zuerst mit E-Mail, Benutzername und Passwort Felder mit ihren eigenen Validatoren. Dann wollte ich weitere Felder wie Bio, Standort Geschlecht und Geburtstag hinzufügen, auch mit ihren eigenen Validatoren.Was ist der richtige Weg, um Validatoren mit Mongoose

const userSchema=new Schema({ 
    email: { type: String, required: true, unique: true, lowercase: true, validate: emailValidators}, 
    username: { type: String, required: true, unique: true, lowercase: true, validate: usernameValidators}, 
    password: { type: String, required: true,validate: passwordValidators}, 
    bio: { type:String,required:false,default:null,validate:bioValidators}, 
    location: {type:String,required:false, default:null}, 
    gender: {type:String,required:false,default:null,validate:genderValidators}, 
    birthday: { type:Date,required:false,default:null} 
}); 

Nun das Problem ist, dass, wenn ich registriert werden soll, wird es alle Validatoren läuft, so natürlich ein Fehler, weil in der Registerseite aufgetreten Ich frage nicht einmal für die bio, Lage etc ..

ich habe versucht, das Hinzufügen erforderlich: false, aber immer noch nicht funktioniert und ich fand keine befriedigende Antwort

EDIT

hier, wie ich einen neuen Benutzer erstellen

012.351.

Die Fehler, die ich bekomme, sind bioValidator und genderValidator.

In der Tat ist meine Frage, wie wähle ich, welcher Validator ausgeführt wird.

Antwort

2

EDIT

Um es einfach die erforderliche und Validatoren Feld funktioniert wie folgt entfernen:

const userSchema=new Schema({ 
 
    email: { type: String, required: true, unique: true, lowercase: true, validate: emailValidators}, 
 
    username: { type: String, required: true, unique: true, lowercase: true, validate: usernameValidators}, 
 
    password: { type: String, required: true,validate: passwordValidators}, 
 
    bio: { type:String, default:null}, 
 
    location: { type:String, default:null}, 
 
    gender: { type:String, default:null}, 
 
    birthday: { type:Date, default:null} 
 
});

+0

Dank, aber ich mag dies nicht funktioniert, weder –

+1

Wie Erschaffst du einen neuen Benutzer? und was ist der Fehler, den du bekommst? –

+1

Blick auf die Bearbeitung –

Verwandte Themen