Ich habe zwei Feld "Passwort" (Dieses Feld ist in der Datenbank) und confirm_password (Dieses Feld ist nicht in der Datenbank)
Nun, ich muss vergleichen, ob password == confirm_password .. aber ich weiß nicht, erstellen Sie eine benutzerdefinierte Validierung zu "confirm_password" ... Müsste dieses Feld in der Datenbank haben?
Wie mache ich das?
Im Allgemeinen können Sie auf alle Daten in einer benutzerdefinierten Validierung zugreifen Regel über das Argument $context
, wo es im Schlüssel data
gespeichert wird, dh $context['data']['confirm_password']
, das Sie dann mit dem aktuellen Feldwert vergleichen können.
Nachdem dies gesagt wurde, wurde kürzlich eine compareWith
Validierungsregel eingeführt, die genau das tut.
Jetzt gibt es eine Methode namens sameAs in der validator-Klasse, für Version 3.2 oder grater.
%Vor%siehe API
Tags und Links php cakephp cakephp-3.0