Newton vc defende a validação dentro do modelo, então o modelo com o
Validation estaria acessando os dados via POST pois é isso que o validation
faz.

 Eu, assim que tiver tempo, vou tentar colocar o Validation dentro dos meus
models pra ver como fica.

Em 24/01/08, Newton Wagner <[EMAIL PROTECTED]> escreveu:
>
> Po, bem observado.
>
> A camada de modelo não deve nem lembrar que POST existe. Isso é
> responsabilidade da classe de controle.
>
> Na minha opinião, o seu Controller deveria receber as variáveis do
> post e passar pra um objeto (VO, como já disseram) ou um array.
>
> Depois eu chamaria o método inserir() do meu modelo.
>
> Como eu ainda acho que validação de negócio (logo, de campos do
> formulário), deve ser feita dentro do seu Modelo. Estou enferrujado e
> não sei o comportamento da classe Validation dentro do modelo, mas eu
> usaria ela lá.
>
> Sendo assim, o método inserir() chamaria o método
> validarAntesInserir() passando mais uma vez o objeto ou array. Se
> passar pela validação, segue a inserção, se não, retorna erro pro
> controle que exibe na tela.
>
>
>
> Em 24/01/08, Rafael V. de Oliveira<[EMAIL PROTECTED]>
> escreveu:
> >
> >  Só uma dúvida.
> >
> >  Caso vc utilize o Model Livro para outra coisa que não seja o insert
> > (listar, por exemplo). Provavelmente vc não vai ter a variável de post
> > ainda, pois num view que só tem listar (select), a chance de ter algum
> post
> > é baixa.
> >
> >  E aí meu amigo? No construtor do model vc alocou memória para 3
> variaveis
> > que nunca vai usar. Não entendi o motivo.
> >  Não seria mais fácil vc utilizar o input->post no método que vc chamou,
> ao
> > inves de chamar no construtor?
> >
> >  Paulo Balzi escreveu:
> > Galera, voltando o assunto, mas agora vamos pra prática no CI.
> >
> >  Vou explicar o exemplo e do jeito q eu achei q tinha q ser
> implementado.
> >
> >  Tabela: Livro
> >
> >
> > id
> > titulo
> > assunto Criando o Model para a tabela Livro
> >
> >  class Livro extends Model {
> >       public $id, $titulo, $assunto;
> >       function __construct() {
> >            parent::model();
> >            $this->id = $this->input->post(id);
> >            $this->titulo = $this->input->post(titulo);
> >            $this->assunto = $this->input->post(assunto);
> >       }
> >       public function insert() {
> >            $this->db->insert('livro', $this);
> >       }
> >  }  //fim Model
> >
> >  Criando o Controller, considerando q eu uso o método index para fazer a
> > inserção
> >
> >  class ControleLivro extends Controller {
> >       function __construct() {
> >            parent::construct();
> >       }
> >       function index() {
> >            ...
> >            if ($this->validation->run() = FALSE) {
> >                  $this->load->view("pagina");
> >            } else {
> >                   $this->load->model(Usuario);
> >                   $this->Usuario->insert();
> >            }
> >       }
> >  }
> >
> >  bom, ele executa corretamente, o problema é que, quando eu passo o this
> > como parametro para fazer a inserção, ele traz outros atributos de
> outras
> > classes, causando um erro no comando.
> >
> >  Eu entendi a teoria q o pessoal tentou passar nessa discussão, mas na
> > prática eu não, consegui sair da origem, a estrutura do CI me trouxe
> dúvidas
> > em relação a criação de objetos.
> >  Bom é isso, fico no aguardo.
> >  Valeu mais uma vez aí.
> >
> >
> >  Paulo Balzi ________________________________
> >
> > _______________________________________________
> > Lista mailing list
> > [email protected]
> > http://codeigniter.com.br/mailman/listinfo/lista_codeigniter.com.br
> >
> >
> >  --
> > Rafael Vieira de Oliveira
> > Faculdade de Direito de SBC - Autarquia Municipal
> > Setor de Automação, Telefonia e Informação
> > (11)4123-0222 Ramal: 208
> >
> > _______________________________________________
> > Lista mailing list
> > [email protected]
> > http://codeigniter.com.br/mailman/listinfo/lista_codeigniter.com.br
> >
> >
>
>
> --
> Newton Wagner
>
> skype: newtonwagner
> msn/gtalk: [EMAIL PROTECTED]
>
> http://www.newtonwagner.net/blog
> - http://www.owshit.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

Responder a