Gegeben diese Eingabe:
%Vor%So validieren Sie Folgendes:
key
Attribut existiert Ich habe erwartet, dass diese Einschränkung funktioniert
%Vor%, aber es löst eine Ausnahme aus:
%Vor%Was vermisse ich?
PS: Es ist symfony v2.7.1
PPS: nur um klarzustellen: Ich weiß, dass man einen Rückruf verwenden kann. Wenn ich die Validierung manuell von Grund auf neu implementieren wollte, hätte ich symfony nicht von Anfang an verwendet. Die Frage bezieht sich insbesondere auf die Kombination der vorhandenen Einschränkungen und nicht auf die Verwendung einer Callback-Einschränkung.
Ich hatte das genau dasselbe Problem vor zwei Nächten.
Die Schlussfolgerung am Schluss war, dass Symfony2
validation keine "Fast-Fail" Validierung hat. Das heißt, selbst wenn Ihre Type()
-Bedingung fehlschlagen würde, würde sie mit anderen Einschränkungen fortfahren und somit mit UnexpectedTypeException
ausnahme fehlschlagen.
Ich konnte jedoch einen Weg finden, das anzugehen:
%Vor% Ich hoffe, dass das ein bisschen hilft. Persönlich finde ich es ärgerlich, dass wir das tun müssen. Eine Art "Fast-Fail" -Flag in validator
service wäre sehr hilfreich.
Sie sagen, die Einschränkung Collection
sollte nur fehlschlagen, anstatt eine Ausnahme auszulösen, weil 'value'
eine string
und keine array
ist.
Es gibt einen kürzlich geloggten Symfony Bug: Ссылка
Tags und Links php symfony symfony-validator