TCNPJValidator e TCPFValidator Boa tarde a todos! Estou fazendo um sistema da ouvidoria do município onde trabalho e deve ser permitido o munícipe se cadastrar como pessoa física ou jurídica. Para isso, criei um BD de usuários (que tem uma coluna chamada CADNAC que aceita CPF e CNPJ, bem como uma coluna tipo que aceita F ou J) além de BDS de info de pessoa física e jurídica, com chave estrangeira do BD de usuário...
MA
TCNPJValidator e TCPFValidator  
Boa tarde a todos!

Estou fazendo um sistema da ouvidoria do município onde trabalho e deve ser permitido o munícipe se cadastrar como pessoa física ou jurídica.

Para isso, criei um BD de usuários (que tem uma coluna chamada CADNAC que aceita CPF e CNPJ, bem como uma coluna tipo que aceita F ou J) além de BDS de info de pessoa física e jurídica, com chave estrangeira do BD de usuários.

Até ai tudo bem. Esta lançando registros nas duas bases corretamente, mas gostaria de utilizar o CNPJ e CPFValidator. Utilizei-me de uma static function que mostra os campos corretos de acordo com o tipo de cadastro selecionado (F ou J)... até ai tudo bem também.

<php>
public static function onChangeType($param)
{
if ($param['tipo'] == 'F')
{
BootstrapFormBuilder::showField('formulario', 'cpf');
BootstrapFormBuilder::showField('formulario', 'nome');
BootstrapFormBuilder::showField('formulario', 'dt_nasc');
BootstrapFormBuilder::showField('formulario', 'sexo');
BootstrapFormBuilder::hideField('formulario', 'cnpj');
BootstrapFormBuilder::hideField('formulario', 'razaosocial');
BootstrapFormBuilder::hideField('formulario', 'inscest');
}
else
{
BootstrapFormBuilder::hideField('formulario', 'cpf');
BootstrapFormBuilder::hideField('formulario', 'nome');
BootstrapFormBuilder::hideField('formulario', 'dt_nasc');
BootstrapFormBuilder::hideField('formulario', 'sexo');
BootstrapFormBuilder::showField('formulario', 'cnpj');
BootstrapFormBuilder::showField('formulario', 'razaosocial');
BootstrapFormBuilder::showField('formulario', 'inscest');
}
}
?>

o meu problema esta na hora de se executar o

 
  1. <?php
  2. $this->form->validate(); // validate form data
  3. ?>


pois ele valida o campo CPF, quando pessoa física mas diz que o campo CNPJ tem um CNPJ inválido, (pois não foi preenchido)
há alguma forma de eu informar o sistema para ele ignorar o validation do CNPJ se o tipo for F e ignorar o validation do CPF se for tipo J?

Curso Dominando o Adianti Framework

O material mais completo de treinamento do Framework.
Curso em vídeo aulas + Livro completo + Códigos fontes do projeto ERPHouse.
Conteúdo Atualizado!


Dominando o Adianti Framework Quero me inscrever agora!

Comentários (3)


MA

Correção code do static function:

 
  1. <?php
  2. public static function onChangeType($param)
  3. {
  4. if ($param['tipo'] == 'F')
  5. {
  6. BootstrapFormBuilder::showField('formulario', 'cpf');
  7. BootstrapFormBuilder::showField('formulario', 'nome');
  8. BootstrapFormBuilder::showField('formulario', 'dt_nasc');
  9. BootstrapFormBuilder::showField('formulario', 'sexo');
  10. BootstrapFormBuilder::hideField('formulario', 'cnpj');
  11. BootstrapFormBuilder::hideField('formulario', 'razaosocial');
  12. BootstrapFormBuilder::hideField('formulario', 'inscest');
  13. }
  14. else
  15. {
  16. BootstrapFormBuilder::hideField('formulario', 'cpf');
  17. BootstrapFormBuilder::hideField('formulario', 'nome');
  18. BootstrapFormBuilder::hideField('formulario', 'dt_nasc');
  19. BootstrapFormBuilder::hideField('formulario', 'sexo');
  20. BootstrapFormBuilder::showField('formulario', 'cnpj');
  21. BootstrapFormBuilder::showField('formulario', 'razaosocial');
  22. BootstrapFormBuilder::showField('formulario', 'inscest');
  23. }
  24. }
  25. ?>
NR

https://www.adianti.com.br/forum/pt/view_661?adicionando-validacoes-em-formulari
MA

Opa!

Valeu mano!
Vou dar uma olhada!
:D