dimecres, 22 d’octubre del 2008

VALID_YEAR versió cakephp 1.2

Estic adaptant a la nova RC3 de cakephp una aplicació web realitzada per la versió 1.1 del framework i, aplicant les noves regles de validació en un model, m’he trobat amb un aspecte amb el que fins ara no m’hi havia topat. A la versió 1.1 hi havia 4 regles que ara estan marcades com a deprecated:

  • VALID_NOT_EMPTY
  • VALID_NUMBER
  • VALID_EMAIL
  • VALID_YEAR

L’equivalent de la primera amb la nova validació de la versió 1.2 és ‘notEmpty’, la segona ‘numeric’, la tercera ‘email’ i la quarta...ei! la quarta com?

La meva primera idea ha estat provar sense èxit amb la regla date

'year' => array('rule' => array('date', 'y'))

Però no accepta un format amb només l’any. Llavors he acabat recorrent a l’expressió regular

'rule' => array('custom', '/^[12][0-9]{3}$/')

'rule' => array('date', null, '/^[12][0-9]{3}$/')

Ambdues opcions fan exactament el mateix –date ignora el segon paràmetre si se li passa una expressió regular-, però potser sembla que passant l’expressió regular a date queda més clar.

Alguna opció millor?