Ich habe folgende Validierung auf einer meiner Routen:
%Vor% Ich versuche es so zu machen, dass containsAny
oder containsAll
mindestens eine Zeichenkette enthalten müssen. Wenn containsAny
leer ist, sollte containsAll
mindestens ein Element haben. Und wenn containsAll
leer ist, sollte containsAny
mindestens ein Element enthalten.
Aber es scheint, dass Joi.when
nicht wirklich funktioniert, wenn es um ein Array von Objekten geht.
Sie müssen Joi.alternatives()
verwenden, ansonsten erstellen Sie ein Rundschreiben Abhängigkeit wie in dieses Problem beschrieben.
In der Bedingung is
in when()
müssen Sie einen Joi-Typ anstelle eines leeren Arrays angeben. Dieses Beispiel funktioniert:
Die Variable obj
schlägt die Validierung fehl, weil sowohl first
als auch second
leer sind. Wenn Sie beide nicht leer lassen, wird die Validierungsprüfung bestanden.
Tags und Links javascript validation hapijs joi