Desde que surgiu essa discussão da outra vez, e após ler todos os links que enviaram, eu passei a manter o controller só para controle mesmo. Andei fuçando no Zend e lendo alguns tutoriais a orientação é essa também, que já foi dada aqui. Então passei a usar o validation dentro do model. O controller só aciona ele e recebe o resultado para então seguir em frente. Funciona perfeito, sem problema e ficou muito mais claro para mim.
Abs Muita sorte para nós! Marco Telles ############# # Pier de Ipanema ( http://www.pierdeipanema.com.br/ ) Luciano Soares escreveu: > 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] > <mailto:[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] > <mailto:[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] <mailto:[email protected]> > > > http://codeigniter.com.br/mailman/listinfo/lista_codeigniter.com.br > <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] <mailto:[email protected]> > > > http://codeigniter.com.br/mailman/listinfo/lista_codeigniter.com.br > <http://codeigniter.com.br/mailman/listinfo/lista_codeigniter.com.br> > > > > > > > -- > Newton Wagner > > skype: newtonwagner > msn/gtalk: [EMAIL PROTECTED] <mailto:[EMAIL PROTECTED]> > > http://www.newtonwagner.net/blog <http://www.newtonwagner.net/blog> > - http://www.owshit.com.br/ > > _______________________________________________ > Lista mailing list > [email protected] <mailto:[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

