?php class Emitir_guia extends Model {

    function __construct()
    {
        parent::Model();
    }

    function validaForm1(){
        $this->load->library('validation');
        $this->validation->set_message('required', 'Campo "%s" não pode
ficar em branco...');
        $this->validation->set_message('min_length', 'Campo "%s" precisa ter
mais de %s caracteres');
        $this->validation->set_message('max_length', 'Campo "%s" não pode
conter mais de %s caracteres');
        $this->validation->set_error_delimiters('<div class="error">',
'</div>');
        $rules['cli_cnpj'] =
"required|min_length[18]|max_length[18]|callback_cnpjvalido_check|callback_cnpjexiste_check";

        $this->validation->set_rules($rules);
        $fields['cli_cnpj']    = 'CNPJ';
        $this->validation->set_fields($fields);

        return $this->validation->run();

    }

    function validaForm2(){
        $this->load->library('validation');
        $this->load->helper(array('form', 'url'));
        $this->validation->set_message('required', 'Campo "%s" não pode
ficar em branco...');
        $this->validation->set_message('min_length', 'Campo "%s" precisa ter
mais de %s caracteres');
        $this->validation->set_message('max_length', 'Campo "%s" não pode
conter mais de %s caracteres');
        $this->validation->set_error_delimiters('<div class="error">',
'</div>');
        /*COMEÇA AS REGRAS PARA VALIDAÇÃO DOS DADOS QUE VEM DO PRIMERA
PAGINA DE EMISSÃO DE GUIAS....*/

        $rules['sind_cnpj'] = "required|min_length[18]|max_length[18]";
        $rules['cli_cnpj'] = "required|min_length[18]|max_length[18]";
        $rules['cli_rsocial'] = "required";
        $rules['cli_endereco'] = "required|max_length[50]";
        $rules['sind_cnae'] = "required|max_length[4]|min_length[4]";
        $rules['cli_numero'] = "max_length[10]";
        $rules['cli_bairro'] = "max_length[50]";
        $rules['cli_complemento'] = "max_length[10]";
        $rules['cli_cidade'] = "max_length[50]";
        $rules['cli_estado'] = "max_length[2]";
        $rules['cli_cep'] = "required|max_length[9]";
        $rules['cli_contrib'] = "required|max_length[4]";
        $rules['cli_total_emp'] = "required|max_length[4]";
        $rules['cli_total_remu'] = "required|max_length[10]";
        $rules['cli_capital_social'] = "required|max_length[10]";
        $rules['cli_valor_guia'] = "required|max_length[10]";
        $rules['cli_mes_ref'] = "required|max_length[10]";
        $rules['cli_ano_ref'] = "required|max_length[4]";
        $this->validation->set_rules($rules);

        /*REPOPULANDO FORMULARIOS...*/

        $fields['sind_cnpj']    = 'CNPJ';
        $fields['cli_cnpj']    = 'CNPJ do Cliente';
        $fields['cli_rsocial']    = 'Razão social';
        $fields['sind_cnae'] = "CNAE";
        $fields['cli_endereco'] = 'Endereço';
        $fields['cli_numero'] = "Número";
        $fields['cli_bairro'] = "Bairro";
        $fields['cli_complemento'] = "Complemento";
        $fields['cli_cidade'] = "Cidade";
        $fields['cli_estado'] = "Estado";
        $fields['cli_cep'] = "CEP";
        $fields['cli_contrib'] = "Numero de Contribuintes";
        $fields['cli_total_emp'] = "Total de empregados";
        $fields['cli_total_remu'] = "Total de remuneração";
        $fields['cli_capital_social'] = "Capital social";
        $fields['cli_valor_guia'] = "Valor da guia";
        $fields['cli_mes_ref'] = "Mês referente";
        $fields['cli_ano_ref'] = "Ano referente";


        $this->validation->set_fields($fields);

        return $this->validation->run();

    }
}

2008/7/7 Paulo Balzi <[EMAIL PROTECTED]>:

> manda os models para eu ver como você está implementando as validações.
>
> 2008/7/6 <[EMAIL PROTECTED]>:
>
> <?php
>>
>>     class Infoguia extends Controller{
>>         function Infoguia() {
>>         parent::Controller();
>>         $this->load->helper('url');
>>         $this->load->helper('form');
>>     }
>>
>>     function index(){
>>         $this->load->model('Cliente','cliente');
>>         $this->load->model('Emitir_guia','Emitir');
>>
>>         if (!isset($_POST["step"])){
>>         $step = 1;
>>         } else {
>>         $step = $_POST["step"];
>>         }
>>
>>         switch ($step){
>>             case 1:
>>                 if($this->Emitir->validaForm1()){
>>
>>                 $step =2;
>>                 $this->Infoguia->index();
>>
>>                 } else {
>>
>>                     $this->load->database();
>>                     $this->db->select('sind_rsocial, sind_cnpj');
>>                     $query = $this->db->get('cad_sind');
>>
>>                     $data = array(
>>                         'secao' => 'infoguia',
>>                         'sindicatos' => $query,
>>                         'titulo' =>'[Sindicatos Online - Emissão de
>> Guia]');
>>                         $this->load->view('principalview',$data);
>>                 }
>>                 break;
>>
>>
>>
>>             case 2:
>>
>>             if($this->Emitir->validaForm2()){
>>
>>                 $step =3;
>>                 $this->Infoguia->index();
>>
>>                 } else {
>>
>>                     $this->load->database();
>>                     $this->db->select('sind_rsocial, sind_cnpj');
>>                     $query = $this->db->get('cad_sind');
>>
>>                     $data = array(
>>                     'secao' => 'emitir_guia',
>>                     'sindicatos' => $query,
>>                     'ano'=> date("Y"),
>>                     'titulo' =>'[Emissão de Guia Sindical]');
>>                     $this->load->view('principalview', $data);
>>                 }
>>                 break;
>>
>>             }
>>
>>
>>         }
>>     }
>> ?>
>>
>>
>>
>> A validação do primeiro form está interferindo no segundo...
>> Se alguem puder me ajudar, me add no msn: [EMAIL PROTECTED]
>> que se for necesserário eu passo o acesso ftp.
>>
>> Um abraço...
>>
>> 2008/6/25 Paulo Souza <[EMAIL PROTECTED]>:
>>
>> O que pude interpretar é que ele está pedindo para você definir algumas
>>> propriedades.
>>> Poste o código fonte aqui.
>>>
>>> Em Qua, 2008-06-25 às 18:57 -0300, [EMAIL PROTECTED] escreveu:
>>> > Pessoal,
>>> > ainda tenho um problema, quando utilizo...
>>> >
>>> > http://acf.890m.com/sindweb/index.php/infoguia
>>> >
>>> > dêem uma olhada....
>>> >
>>> >  quando passa de um form para o outro, a validação do outro entra na
>>> > frente.... :(
>>> >
>>> > 2008/6/20 <[EMAIL PROTECTED]>:
>>> >         Grato a todos,
>>> >         Só não postei o resultado por que estou voltando a programar
>>> >         hoje...
>>> >
>>> >         Um abraço!
>>> >
>>> >         2008/6/20 Samarone Lopes <[EMAIL PROTECTED]>:
>>> >
>>> >                 Esta é uma solução interessante para deixar os
>>> >                 controllers mais magros ainda. Vou estudar se tem
>>> >                 algum contra efeito colocar
>>> >                 essas regras no model.
>>> >
>>> >                 Abraço
>>> >
>>> >                 2008/6/20 Paulo Balzi <[EMAIL PROTECTED]>:
>>> >
>>> >                         Eu faço de outra maneira.
>>> >                         No meu caso eu coloquei todas as regras no
>>> >                         model, então eu criei métodos específicos para
>>> >                         cada conjunto de regra q eu necessito.
>>> >                         Por exemplo:
>>> >
>>> >                         1º método:
>>> >                         function validarForm1() {
>>> >                             -- aqui eu defino as regras q eu quero --
>>> >                            return $this->validation->run();
>>> >                         }
>>> >
>>> >                         2º método:
>>> >                         function validarForm2() {
>>> >                             -- aqui eu defino as regras q eu quero --
>>> >                            return $this->validation->run();
>>> >                         }
>>> >
>>> >
>>> >                         aí pra cada formulário eu envio para um método
>>> >                         do controller q eu quero, no primeiro caso, se
>>> >                         eu quero usar o validarForm1, teria um método
>>> >                         do controller da seguinte maneira:
>>> >
>>> >                         function submitForm1() {
>>> >                            if ($this->mymodel->validarForm1()) {
>>> >                                 -- executa a ação --
>>> >                            } else { -- faça outra coisa -- }
>>> >                         }
>>> >
>>> >                         e se eu quiser usar a outra validação, criaria
>>> >                         outro método no controller fazendo a mesma
>>> >                         coisa, mas chamando o submitForm2.
>>> >
>>> >                         mais ou menos assim.....espero ter ajudado.
>>> >
>>> >
>>> >                 --
>>> >                 Samarone Lopes - (31) 88111425 - (31) 84833845
>>> >
>>> >                 _______________________________________________
>>> >                 Lista mailing list
>>> >                 [email protected]
>>> >
>>> http://codeigniter.com.br/mailman/listinfo/lista_codeigniter.com.br
>>> >
>>> >
>>> >
>>> >
>>> > _______________________________________________
>>> > Lista mailing list
>>> > [email protected]
>>> > http://codeigniter.com.br/mailman/listinfo/lista_codeigniter.com.br
>>>
>>>
>>
>> _______________________________________________
>> Lista mailing list
>> [email protected]
>> http://codeigniter.com.br/mailman/listinfo/lista_codeigniter.com.br
>>
>>
>
>
> --
> Paulo Balzi
_______________________________________________
Lista mailing list
[email protected]
http://codeigniter.com.br/mailman/listinfo/lista_codeigniter.com.br

Responder a