3
respostas

Como fazer para um TextBoxFor aceitar apenas numeros e uma qtd maxima de caracteres ?

Bom dia pessoal, Preciso q meu TextBoxFor aceite apenas numeros e uma quantidade limitada de 18 numeros. Tentei fazer o codigo abaixo, porem algo estranho acontece. Individualmente elas funcionam.. Posso limitar a qtd para 18 OU selecionar apenas numeros, porem qd coloco as duas juntas, apenas a de numeros funciona, anulando a qtd maxima de caracteres.. Como proceder ?

Codigo:

@Html.TextBoxFor(m => m.Nome, new { @class = "form-control col-md-7 col-xs-12", @type = "number", @maxlength = "18" })
3 respostas

Ola Felipe Deveria funcionar, vc ja tentou fazer por javascript como teste?

Segue um exemplo:

@Html.TextBoxFor(m=>m.Phone,new { @onkeypress="OnlyNumeric(this);"})

Resolvi em partes Ricardo.. Tirei o MaxLength do textboxfor e coloquei o JS abaixo:

        <script>
            $('#Nome').keypress(function () {
                return this.value.length < 18
            })
        </script>

Funcionou, mas preciso de um complemento para nao deixar colocar virgula tb.. sabe como fazer ? Abraço

Ja tentou usar o data annotation e validar no modelo e depois usar um validation do próprio razor?