Este post é baseado no post Three new validation rules, de Daniel Hofstetter.
Recentemente foram incluídas novas regras de validação. Com isso, você pode usar três novas regras de validação nos seus models: boolean, inList e time.
boolean é auto-explicativa: testa se o valor é booleano (0 ou 1, false ou true, ‘0′ ou ‘1′).
1 | var $validate = array('is_enabled' => array('rule' => array('boolean'))); |
inList é para verificar se um valor está dentro de uma lista.
1 | var $validate = array('cor' => array('rule' => array('inList', array('vermelho', 'verde', 'azul')))); |
time determina se o valor informado está num formato de hora válida.
1 | var $validate = array('hora_inicial' => array('rule' => array('time'))); |
Para complementar, criei o ticket 4727 para que coloquem nas regras de validação os formatos brasileiros. São três formatos específicos: postal code (nosso CEP), phone (formato de telefone. Coloquei com código internacional, código de área e telefone, além de 0300, 0800 e 0900) e ssn (não é muito igual, mas coloquei a regra do CPF, que é o similar aqui no Brasil). Quando sair o resultado eu informo a vocês.