Olá galera! Continuando nossa série de posts que tem como assunto a classe DataValidator, hoje vamos abordar o método is_date(), que como o próprio nome já diz, trata-se de uma função para a validação de campos do tipo Data (ou Date se preferir).
O método é bem flexível pois permite a validação tanto de instâncias da classe DateTime como uma data (inclusive hora) em um formato específico definido pelo usuário.Veja uma validação utilizando uma instância da classe DateTime.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | ini_set('default_charset','UTF-8'); include 'DataValidator.php'; $validate = new Data_Validator(); $data = new DateTime; $validate->set('data', $data)->is_date(); if($validate->validate()){ echo 'Tudo ok!'; } else{ print_r($validate->get_errors()); } |
Agora veja que se você não quiser um objeto DateTime, você pode passar uma determinada data e informar via parâmetro qual o formato ela deve obedecer.
4 5 6 7 8 9 10 11 12 | $data = '10/01/2013'; //Data no formato d/m/Y $validate->set('data', $data)->is_date('d/m/Y'); if($validate->validate()){ echo 'Tudo ok!'; } else{ print_r($validate->get_errors()); } |
Vejamos agora uma validação de hora no formato HH:mm:ss (Dica: Fique à vontade para passar retornos da função date() como parâmetros).
4 5 6 7 8 9 10 11 12 | $data = date('H:i:s'); //Captura a hora atual no formato HH:mm:ss $validate->set('data', $data)->is_date('H:i:s'); if($validate->validate()){ echo 'Tudo ok!'; } else{ print_r($validate->get_errors()); } |
Bom, acho que é isso.
Até a próxima
Abs!
Parabéns pelo post Rafael, muito bom mesmo. Vou começar a implementar essa sua classe em meus projetos =D. Continue assim contribuindo para a comunidade PHP.
Valeu a força Francis
Abs!
Rafael, venho acompanhando seus posts e vc está de parabéns. Estou especialmente acompanhando os posts sobre o DataValidator. Tenho algumas dúvidas, mas minha principal é quanto ao uso do método is_equals, não conseguir implementá-lo. Vou usá-lo para comparar emails e senhas nos formulários que solicitem a confirmações desses dados.
Olá Phillip,
Qual foi o problema que ocorreu?
Segue um exemplo de utilização do método is_equals().
Abs!