Ich arbeite gerade an einer zusätzlichen Validierung in einem Formular im beforeValidate()
Callback des Modells.
Ich habe den folgenden Code:
%Vor% Ich debuggte alles und es gibt false zurück, wenn der Wert vorhanden ist. Aber dann wird das Formular neu geladen und unter den eingegebenen Punkten wird keine Nachricht angezeigt! Wenn ich das validationErrors
debugge, enthält das Array außerdem den Fehler, der angezeigt werden muss.
Was könnte das Problem sein?
Schätze jede Hilfe!
BEARBEITEN
So baue ich meine Eingaben:
%Vor%Ich glaube, ein Problem könnte die Tatsache sein, dass ich an CapitalModel arbeite, in dem ich neben einigen Feldern des CapitalModels mehrere Felder aus seinem verwandten Modell CapitalCategorieModel verwendet habe. Könnte dies das Problem sein, den Validierungsfehler nicht an das Feld zu binden? Wenn ja, wie kann ich es lösen?
Nun, zugegeben, ich weiß nicht, warum es nicht für Sie zeigt. Von dem, was ich verstehe, sollte es die "magischen" Sache machen. Aber ich habe solche Dinge mit mir auftreten lassen, wenn ich versuche, sie zu validieren und den Fehler nicht magisch anzuzeigen. Ich habe das gelöst, indem ich eine andere Funktion der FormHelper-Klasse benutzt habe.
%Vor%Und wieder erkenne ich vollständig an, dass dies nicht direkt deine Frage beantwortet, aber das ist zumindest ein Kuchen-Weg, um damit umzugehen. Oh, und die obige Funktion gibt null zurück, wenn kein Fehler vorliegt. Sie können es also einfach dort platzieren, wo die Nachricht angezeigt werden soll.
Hier ist der Kuchen Link zu der Funktion in der API, wenn Sie suchen möchten. FormHelper API 2.4
Wahrscheinlich liegt das daran, dass CakePHP nicht weiß, wohin er die Fehlermeldung setzen soll
beim Aufruf von $this->invalidate ( $name );
$name
muss mit dem Namen des Feldes (Eingabe) übereinstimmen, das Sie erstellt haben.
Können Sie mir also zeigen, wie Sie die Formulareingaben (Felder) erstellen?
Tags und Links validation cakephp