CakePHP Model-invalidate zeigt keinen Fehler an

8

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?

    
linkyndy 06.04.2011, 16:06
quelle

3 Antworten

1

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

    
GatorGuy023 24.06.2014 07:24
quelle
0

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?

    
Mouad Debbar 06.04.2011 16:36
quelle
0

Stellen Sie sicher, dass Sie nicht model :: $ validationErrors und Controller :: $ validationError verwechseln. Sie sind anders und teilen keine magische Bindung. Einer ist mit Modellmethoden gefüllt, der andere mit Kontrollmethoden.

    
Rui 06.04.2011 16:44
quelle

Tags und Links