none
Validação utilizando ModelState RRS feed

  • Pergunta

  • Olá gente, estou com mais uma dúvida, aliás esse modelo mvc está me gerando diversas dúvidas, e acho que tem muito pouco material bom na net a respeito.

    Eu estou utilizando validação usando o ModelState, assim como é usado naquele tutorial de 15 min da MS, o MovieApp. Nesse tutorial, está tudo funcionando direitinho, mas quando fui 'migrar' essa funcionalidade de validação para o meu projeto, simplesmente ela não está funcionando!!

    Tenho uma tela com 2 campos, e na hora de dar o submit, quero que apareça uma mensagem dizendo que os campos são obrigatórios, mas quando entra na função Create do meu Controller, o ModelState está sempre entrando como true! mesmo eu não preenchendo nenhum dos 2 campos. E com isso minha validação não funciona.

    Alguém tem idéia do que pode estar acontecendo?

    Obrigada
    segunda-feira, 26 de outubro de 2009 14:14

Respostas

  • Oi Juliana,

    É assim mesmo, sempre que a gente pega algum modelo novo surge esse monte de dúvidas... E concordo que temos pouco material ainda... O lado bom disso é que temos a oportunidade aprendermos "na marra", o que pode proporcionar um conhecimento mais aprofundado.

    Vamos a sua questão:

    Como está a assinatura do método "Create" do seu Controller?
    Pergunto porque se os parâmetros estiverem como "Nullables", os valores não preenchidos serão aceitos numa boa.

    Forte abraço,

    André Borges Medeiros
    MCPD, MCT

    >> Se a resposta solucionar sua dúvida, favor Votar como Útil
    • Marcado como Resposta Juliana Machado terça-feira, 27 de outubro de 2009 13:37
    terça-feira, 27 de outubro de 2009 12:19
    Moderador

Todas as Respostas

  • Oi Juliana,

    É assim mesmo, sempre que a gente pega algum modelo novo surge esse monte de dúvidas... E concordo que temos pouco material ainda... O lado bom disso é que temos a oportunidade aprendermos "na marra", o que pode proporcionar um conhecimento mais aprofundado.

    Vamos a sua questão:

    Como está a assinatura do método "Create" do seu Controller?
    Pergunto porque se os parâmetros estiverem como "Nullables", os valores não preenchidos serão aceitos numa boa.

    Forte abraço,

    André Borges Medeiros
    MCPD, MCT

    >> Se a resposta solucionar sua dúvida, favor Votar como Útil
    • Marcado como Resposta Juliana Machado terça-feira, 27 de outubro de 2009 13:37
    terça-feira, 27 de outubro de 2009 12:19
    Moderador
  • Oi André,

    Você tem razão, eu havia deixado a assinatura desse método create no seu estado default quando criam-se todos aqueles 4 métodos do controller (index, details, create e edit).

    Eu não havia mudado isso:

    <AcceptVerbs(HttpVerbs.Post)> _
    Function Create(ByVal collection As FormCollection) As ActionResult

    ...

    Para isso por exemplo:

    <AcceptVerbs(HttpVerbs.Post)> _
    Function Create(ByVal uf As Uf) As ActionResult

    ...

    Isso porque eu achei que o ModelState já entendia que os campos que eu criei na view, são os que eu queria que fossem validados.

    Muito obrigada pela ajuda! ;)

    Agora, uma outra pergunta que me surgiu a respeito desse modelo de validação: esse é um tipo de validação server side, certo? Portanto eu teria uma forma de implementar o antigo custom validator de aplicações webform, utilizando esse novo modelo? Ou ele só faz 'required field validators'?
    terça-feira, 27 de outubro de 2009 13:36