Validação de formulários no Yii

  • Abra o arquivo model (protected/model/Project.php)
  • Procure pelo método rules()

O Yii no momento da criação do CRUD pegou as regras definidas no banco de dados para os campos nulos e já as descreveu como podemos ver no método rules()

Este método retorna um Array de regras e cada regra possui o seguinte formato:

Array(‘Lista de atributos’, validador, ‘on’ => ’Cenários onde deve ser aplicado’, outros parâmetros)

Lista de atributos: atributos da classe

Validador: Qual validação deve ser aplicada (required, length, etc)

Cenários: Em qual momento deve ser aplicado (insert, update, etc). Se nenhum cenário for especificado a regra será aplicada em todos os momentos.

Outros parâmetros: poderão ser criadas classes ou métodos para validação que podem ser passadas por aqui no par nome=>valor.
Exemplo: public function validatorName($attribute,$params){…}
Se for usar uma class para validar, esta classe deverá ser estendida de CValidator.

Abaixo segue uma lista de validadores padrões do Yii.

 

  • boolean: (CBooleanValidator) se é verdadeiro ou falso
  • captcha: (CCaptchaValidator) código de verificação CAPTCHA
  • compare: (CCompareValidator)comparar dois atributos e valida se são iguais
  • email: (CEmailValidator)Verifica se é um email válido
  • date: (CDateValidator) Verifica se é um valor de data ou data e hora válidos
  • default: (CDefaultValueValidator) Atribui um valor padrão para atributos especificados
  • exist: (CExistValidator) Verifica se existe um atributo especifico em uma determinada tabela
  • file: (CFileValidator) Valida o valor do atributo que contem o nome do arquivo enviado
  • filter: (CFilterValidator) Transforma o valor do atributo em um filtro específico
  • in: (CRangeValidator) Verifica se o valor existe dentro de uma lista
  • length: (CStringValidator) Verifica se o comprimento do atributo esta dentro do valor especificado
  • match: (CRegularExpressionValidator) Usa uma expressão regular para validar o valor do atributo
  • numerical: (CNumberValidator) Valida se o valor do atributo é um número
  • required: (CRequiredValidator) Valida se o valor do atributo é vazio ou não
  • type: (CTypeValidator) Valida se o valor do atributo é do tipo especificado
  • unique: (CUniqueValidator) Verifica se o valor do atributo é único em uma tabela/coluna específica
  • url: (CUrlValidator) Verifica se o valor do atributo é uma URL válida

Podemos ver que os atributos que possuem a validação required, na tela possuem um * vermelho. Se você tentar enviar o formulário com estes campos vazios, o Yii já trata os campos de acordo com a regra.

 

* Todo o conteúdo deste post é uma interpretação minha ou uma sequencia de passos tirados do livro Web Application Development With Yii and PHP. Que pode ser adquirido pelo link: http://www.amazon.com/Web-Application-Development-Yii-PHP/dp/1849518726

Escrevo esta sequencia de posts para documentar os estudos que realizo sobre este framework e ao mesmo tempo partilhar e trocar conhecimento com outros desenvolvedores.

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *