Validação: Fica aonde?
09/09/2011
0
Tenho uma pequena dúvida em relação à MVC e validação.
Eu tenho a camada DAL, que acessa os dados, tenho a tal BLL, que quase não tem nenhuma regra, serve apenas como fluxo mesmo, e tenho a apresentação. Na library de acesso a dados, tenho duas classes que são apenas propriedades automaticas para armazenar e retornar valores, tanto que é que eu referenciei ela para o datasource do DataGridView.
Então, eu estava atualizando os valores preenchidos nos campos na camada de apresentação e jogando para aqueles campos que serve apenas como armazenamento ou retorno, dai eu executo alguma ação na camada de negócios e ai passa para a de acesso a dados, mas existe alguns campos, que são do tipo inteiro, ou datetime. O que aconteceria se um usuário colocasse um "a" num campo idade por exemplo? não tem como fazer esse tipo de conversão, é aí que entra a validação, mas a validação deveria ser na camada de negócios não é? mas eu já to inserindo esses valores na camada de apresentação, como que faz?
Como faz pouco tempo que eu pratico programação, e esse projetinho é apenas para praticar, fiz um "remendo" na camada de apresentação mesmo, mas o código está horrivel, se um dia precisasse de fazer uma manutenção, daria muito dor de cabeça, tanto é que essa forma que eu usei não faz parte do padrão 3 camadas, mas o projeto é apenas para praticar.
O que eu faço? preciso atualizar os campos de armazenamento e ao mesmo tempo validando os valores preenchidos neles. Qual é a melhor pratica? o que eu devo fazer?
Vou deixar aqui um link do meu projeto pra se alguem quiser analisar pra fica melhor...
Nem tentem executar, pois não vai abrir a connection por causa da connection string.
Percebam que a camada de apresentação ta muito "zuada"
http://www.megaupload.com/?d=VNTX5X5B
Desculpa pelo tamanho do topico...
Por favor, quem puder analisar e ve se tem algo incorreto, fico feliz desde já...
Vai Saber
Posts
13/09/2011
Vai Saber
o que eu preciso, é de alguma forma passar os valores para a class de negocio para dai eu poder validar esses valores lá.. to trabalhando numa aplicação em 3 camadas
entendem ?
alguem me ajuda
14/09/2011
Rodrigo Odasaki
Tenho certeza se você assistir este curso: Crie sistemas N camadas em "Cursos de .net" você vai entender como funciona a validação nas camadas.
15/09/2011
Vai Saber
15/09/2011
Vai Saber
Tenho certeza se você assistir este curso: Crie sistemas N camadas em "Cursos de .net" você vai entender como funciona a validação nas camadas.
esse curso é aplicação em asp.net, sei q é mto parecido, mas sei la, to usando windows application,
22/09/2011
Leandro Andrade
Vamos lá vou tentar lhe ajudar.
Você pode colocar toda a validadação dentro da BLL, deve criar uma nova window para exibir os erros e também uma classe para transportar os mesmos.
Sendo assim quando a BLL encontrar um determinado erro ela seta na classe “Erro” e retorna false, sua IHM irá chamar os métodos de outra maneira algo parecido com isso:
If(!contatos.AlterarContatos(fields))
{
windowErro = new windowErro();
windowErro.ShowDialog();
}
Espero que ajude você,
Grande abraço,
Léo Andrade
Clique aqui para fazer login e interagir na Comunidade :)