Usuário com melhor resposta
Data annotations - Validar parte do modelo

Pergunta
-
Pessoal,
Criei uma classe Usuario e alguns atributos decorei com alguns data annotations. Tenho no meu controller LogonController uma Action Autenticar(Usuario usuario) que recebe um objeto Usuario como parametro. No controller faço a verificacao se o modelo é valido para dar sequencia na requiscao de autenticacao. O problema é que neste caso na minha View os unicos campos que estao sendo preenchidos sao logon e senha o resto vem nulo e isso esta invalidando o modelo. Existe a possibilidade de apenas neste momento desabilitar todos os annotations dos outros atributos para que meu modelo seja valido quando chegar no controller?
Grato pela atenção.
Respostas
-
Marcelo, o correto é você não usar uma classe de dominio(sua classe Usuario que provavelmente representa uma tabela no banco) diretamente na view.
O correto é você usar uma viewmodel contêndo apenas os dados que vão aparecer na tela.
No seu caso ficaria assim:
public class UserLogin{ [Required] public string Login {get;set;} [Required] public string Password {get;set;} } public ActionResult Login(UserLogin userLogin)
{ if(ModelState.IsValid){ } return View(); }
http://www.linkedin.com/pub/murilo-kunze/44/191/455
- Sugerido como Resposta Paulo M Dalbosco segunda-feira, 3 de dezembro de 2012 17:55
- Marcado como Resposta Marcelo Moreira Souza segunda-feira, 3 de dezembro de 2012 18:03
Todas as Respostas
-
Marcelo, o correto é você não usar uma classe de dominio(sua classe Usuario que provavelmente representa uma tabela no banco) diretamente na view.
O correto é você usar uma viewmodel contêndo apenas os dados que vão aparecer na tela.
No seu caso ficaria assim:
public class UserLogin{ [Required] public string Login {get;set;} [Required] public string Password {get;set;} } public ActionResult Login(UserLogin userLogin)
{ if(ModelState.IsValid){ } return View(); }
http://www.linkedin.com/pub/murilo-kunze/44/191/455
- Sugerido como Resposta Paulo M Dalbosco segunda-feira, 3 de dezembro de 2012 17:55
- Marcado como Resposta Marcelo Moreira Souza segunda-feira, 3 de dezembro de 2012 18:03
-
-