none
Validação DataAnnotations RRS feed

  • Pergunta

  • Boa tarde!

    Estou tentando usar o DataAnnotations no mvc3 para validar mais não está funcionando ele não respeita a validação e deixa dar o post.

    Segue a baixo minha configuração.

    Model

    [Required(ErrorMessage="*")]
            public virtual string Login
            {
                get;
                set;
            }

    View

    @model DataAnnotation.Models.Usuario
    
    @{
        ViewBag.Title = "Create";
        Layout = "~/Views/Shared/_Layout.cshtml";
    }
    
    <script src="@Url.Content("~/Scripts/jquery.validate.min.js")" type="text/javascript"></script>
    <script src="@Url.Content("~/Scripts/jquery.validate.unobtrusive.min.js")" type="text/javascript"></script>
    
    <h2>Create</h2>
    
    @using (Html.BeginForm("Create", "Usuario"))
    {
        @Html.ValidationSummary(true)
    
        <label>Login</label>
        @Html.TextBox("usuarioViewModel.Login")
        @Html.ValidationMessageFor(model=> model.Login)
    
        <p>
           <input class="submit" type="submit" value="Cadastrar"/>
        </p>
    }
    

    Gostaria de saber se tem alguma coisa de errado no meu código ou se estou deixando passar alguma coisa.

    Grato,

    terça-feira, 17 de abril de 2012 20:29

Todas as Respostas

  • Não sei se é isso, mas tenta:

    @Html.TextBoxFor(model => model.Login)

    ou:

    @Html.TextBox("Login")

    http://www.linkedin.com/pub/murilo-kunze/44/191/455

    • Editado Murilo Kunze terça-feira, 17 de abril de 2012 20:51
    terça-feira, 17 de abril de 2012 20:47
  • Murilo obrigado,

    eu tentei deste jeito que voce falou e assim

    @Html.EditorFor(model=>model.Login), tem um detalhe eu estou usando uma viewmodel  que eu montei com tres models. Sabe se tem alguma problema?

    Grato,

    terça-feira, 17 de abril de 2012 21:08
  • Cleiton, como está seu controller?

    Faça isso no seu controller para validar campos obrigatório!

            [HttpPost]
            public ActionResult Cadastrar()
            {
                if (ModelState.IsValid) // Verifica campos obrigátorio
                {

                Ex:   Se os campos está preenchido, grava

                return // se gravou, retorna pra onde vc quer...

                }

                return View() // se existe campo com erro, volta para cadastro

            }

    Abraço.


    Se esta sugestão for útil, por favor, classifique-a como útil. Se ela lhe ajudar a resolver o problema, por favor, marque-a como resposta. Blog Wescley.Net


    sexta-feira, 20 de abril de 2012 12:45
  • Obrigado pela força,

    Eu consegui usando o fluentValidation, muito bom se alguem tiver interesse em conhecer segue o link para referencia.

    Grato,

    http://fluentvalidation.codeplex.com/

    segunda-feira, 23 de abril de 2012 13:38