Znalazłem i przerobiłem sobie nieco metodę która pozwala na definiowanie więcej niż jednej tablicy z regułami walidacji,
jako że nie we wszystkich akcjach niektóre pola są wymagane. Wszystko działa bez problemu (reguły pobierane są z innej tablicy np. $validateLostpassword niż ze defaultowej $validate).
Ale jest teraz problem ze zaznaczaniem pól wymaganych :/. Tak jak by cake przed wyświetleniem strony szukał to daje we defaultowej tablicy, i "zaznaczał" pogrubiał wymagane pola np. Adres email* ,
chociaż w regule jest ustawione że pole nie jest wymagane. Po naciśnięciu submit, jeśli jakaś reguła nie zostanie spełniona, i formularz napisze błąd z reguły, to formularz już dobrze zaznacza wymagane pola.
Ale jak wchodzi się normalnie to pozuje źle, dopiero po przesłaniu danych pokazuje dobrze. Chyba trzeba będzie coś nadpisać i dodać do beforeRender(), tylko gdzie ?
$action = 'validate' . Inflector::camelize(Router::getParam('action')); $this->validate = $this->$action; } $errors = $this->invalidFields($options); } return $errors; }
Dzięki za wszelką pomoc i pomysły.