Inscrições abertas para nosso Webinar anual Adianti Framework 2024!
Clique aqui para saber mais
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 completo Meu Negócio Pronto
Use para si, ou transforme em um negócio: Inclui aulas e códigos-fontes
Gestor de conteúdo (SITE) + Loja Virtual (E-Commerce) + Emissor de Notas para infoprodutos


Meu negócio pronto Quero me inscrever agora!

Comentários (3)


MA

Correção code do static function:

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

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

Opa!

Valeu mano!
Vou dar uma olhada!
:D