?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