none
Validation não funciona ao pressionar Enter - MVC4 RRS feed

  • Pergunta

  • Galera Bom Dia. 

    Tenho um input para pesquisa  

    @Html.TextBoxFor(p => p.nomeParaPesquisa, new { maxlength = "30", @placeholder = "Pesquisar...", id = "txtPesquisa" })
    [MinLength(03, ErrorMessage = "Você deve digitar ao menos 3 caracteres.")]
    [Required(ErrorMessage = "Favor preencher o campo para pesquisa.")]
    public string nomeParaPesquisa { get; set; }

    Até nesse ponto tudo filé, exceto quando no meu campo de pesquisa eu não siga nenhuma dessas limitações, ou seja, não preencha o campo ou digite menos que 3 caracteres e pressione Enter. 

    O post é acionado, minha view é acessada, e o danado do ModelState.IsValid me retorna true

    Eu já utilizei muito essas validações só que, com clique em botão e não utilizando Enter.

    Alguém pode me ajudar?

    Já passou por isso?

    Sabe onde posso pesquisar sobre?

    Abraço.

     

    Good Luck, Fernando Mamprin

    terça-feira, 17 de setembro de 2013 14:37

Respostas

  • @Html.ValidationMessageFor(p=>p.nomeParaPesquisar)

    No WebConfig

      <appSettings>

        <add key="ClientValidationEnabled" value="true" />
        <add key="UnobtrusiveJavaScriptEnabled" value="true" />
      </appSettings>

    Nuget Instalar

    JQuery Unobtrusive Validation

    JQuery Validation

    JQuery Unobtrusive Ajax

    • Marcado como Resposta Fernando Mamprin terça-feira, 17 de setembro de 2013 16:40
    terça-feira, 17 de setembro de 2013 14:46

Todas as Respostas

  • @Html.ValidationMessageFor(p=>p.nomeParaPesquisar)

    No WebConfig

      <appSettings>

        <add key="ClientValidationEnabled" value="true" />
        <add key="UnobtrusiveJavaScriptEnabled" value="true" />
      </appSettings>

    Nuget Instalar

    JQuery Unobtrusive Validation

    JQuery Validation

    JQuery Unobtrusive Ajax

    • Marcado como Resposta Fernando Mamprin terça-feira, 17 de setembro de 2013 16:40
    terça-feira, 17 de setembro de 2013 14:46
  • Fala Cesar.

    Cara segui suas orientações mas não funcionou mano. 

    Abraço.


    Good Luck, Fernando Mamprin

    terça-feira, 17 de setembro de 2013 14:56
  • Você está usando as Tags do System.ComponentModel.DataAnnotations para decorar as propriedades da Model?
    terça-feira, 17 de setembro de 2013 14:58
  • Fala Cesar. 

    Cara erro meu eu havia esquecido de importar o JQuery Unobtrusive Validation na _Layout. 

    I'm Sorry. 

    Obrigado pela força. 


    Good Luck, Fernando Mamprin

    terça-feira, 17 de setembro de 2013 16:40
  • Sem problemas, precisando estamos todos aqui!
    terça-feira, 17 de setembro de 2013 16:45
  • Já que falou vou abusar da sua boa vontade. hahahah..

    Cara, como essas mensagens após o Enter são exibidas, e depois caso eu nao preencha o campo ela continua aparecendo. Existe alguma maneira de que quando eu clico fora do campo ela suma assim que meu input receba o placeholder?

    Mensagem de Erro

    Após exibição de mensagem.

    Quando clico fora do campo ele "encolhe" e mostra o placeHolder.

    As imagens mostram bem o cenário. Existe alguma maneira de contornar isso Cesar?


    Good Luck, Fernando Mamprin

    terça-feira, 17 de setembro de 2013 16:59
  • Bom, quando você dá o enter, geralmente o formulário faz um Post ou Get enviando os dados, mas antes rola uma validação,

    Neste caso os input que estão vinculados com propriedades que usam a tag [Required], vão aparecer a mensagem conforme acima.

    Só desapareção após o campo ser preenchido.



    terça-feira, 17 de setembro de 2013 17:22
  • Bom, quando você dá o enter, geralmente o formulário faz um Post ou Get enviando os dados, mas antes rola uma validação,

    Neste caso os input que estão vinculados com propriedades que usam a tag [Required], vão aparecer a mensagem conforme acima.

    Só desapareção após o campo ser preenchido.



    terça-feira, 17 de setembro de 2013 17:23
  • Entendi .. Obrigado Cesar.

    Good Luck, Fernando Mamprin

    terça-feira, 17 de setembro de 2013 17:27