2017-02-21 3 views
0

Ich verwende "joi": "10.0.6" und "express-validation": "1.0.1" in meinem Projekt, um ein JSON-Objekt zu validieren, das ich wird in der DB gespeichert. Eines der Felder ist eine Zeichenfolge, aber sie könnte null oder leer sein. Wie kann ich zulassen, dass meine Zeichenfolge in den Fällen, in denen sie leer oder null ist, die Validierung besteht?Erlaube String Null oder leer in Joi und Express-Validierung

Ich habe bereits diese Fälle versucht:

dataId: Joi.string().allow(null).allow('').optional() 

und

dataId: Joi.alternatives().try(Joi.string(), Joi.allow(null)) 

aber beide, sie funktionieren nicht.

Antwort

0

Wenn Sie angeben, es nur als

dataId: Joi.string() 

sollte es standardmäßig optional sein.

EDIT: Ich konnte es derzeit nicht selbst ausprobieren. Hier ist eine Alternative, wenn oben nicht funktioniert:

dataId: Joi.string().min(0).allow('').allow(null) 
0

Joi.string().allow('').allow(null) sollte gearbeitet haben. Ich habe lokal getestet und es funktioniert gut.

Zeigen Sie Ihre Testfälle und Fehler an?

Verwandte Themen