0

Je dois faire en sorte que les messages d'erreur Flash changent en fonction du type d'erreur de validation. En ce moment, il dit toujours: Database error si l'une de mes validations personnalisées ne passe pas.Créer un message flash lorsque la validation échoue dans KeystoneJS

Mes validations personnalisées ont lieu dans mon modèle, et non dans mes contrôleurs, donc je ne suis pas sûr de savoir comment traverser les deux.

Voici un de mes personnalisés validations:

User.schema.path('email').validate(function (value) { 
if (validator.isEmpty(value) || validator.isEmail(value)) { 
    return true; 
} 
else { 
    return false; 
} 
}); 

La validation fonctionne parfaitement, il est juste le message flash que je veux changer.

Répondre

0

Vous pouvez transmettre des messages d'erreur personnalisés à la fonction validate ainsi, Couplez avec la fonction en l'enveloppant dans un tableau, comme ceci:

User.schema.path('email').validate([function (value) { 
if (validator.isEmpty(value) || validator.isEmail(value)) { 
    return true; 
} 
else { 
    return false; 
} 
}, "WRONG!"]); 
+0

J'ai essayé d'abord, mais il n'a pas n'importe quel effet. Il affiche toujours seulement 'erreur de base de données' –

+0

qui ressemble à un bogue alors – Creynders