Customizar Mensagens de Validação

1,002 views
Skip to first unread message

Maicon Pinto

unread,
Jul 29, 2010, 8:30:50 AM7/29/10
to jQuery (Brasil)
Olá, gostaria de saber como "customizar as mensagens de validação" com
jQuery.

Quando eu valido o form funciona perfeitamente, e eu consigo
customizar as mensagens de erro. Só que, este meu formulário exibi
alguns campos conforme a seleção da opção de um "select". Ele alterna
entre Nome, Sobrenome, CPF e Razão Social, Nome Fantasia e CNPJ.
Conforme o tipo do usuário ele exibi somente um ou outro.

Meu problema é na customização de mensagens para estes campos que são
adicionados somente depois da seleção no combo. Eu adiciono as regras
com --- $("#campoNome").rules("add",{ required: true, maxlength:
50 }); --- mas não achei até agora como customizar estas mensagens.

Se alguém tiver alguma dica, agradeço. Já pesquisei aqui, no site do
jQuery, entre outros, mas ainda não encontrei nada para este meu caso.
Continuarei pesquisando e qualquer coisa eu posto aqui, mas enquanto
isso, agradeço a atenção.

Washington Botelho

unread,
Jul 29, 2010, 9:02:57 AM7/29/10
to jque...@googlegroups.com
Depende do plugin que estiver usando. O jQuery Validation tem como customizar:

        $('form').validate({
            errorPlacement: function(error, element) {
                error.appendTo($('element'));
            },
            rules: {
                'entity.nome':            'required',
                'entity.nascimento':    'date'
            },
            messages: {
                'entity.nome':            {required: ' '},
                'entity.nascimento':    {date: '<fmt:message key="dataInvalida"/>'} // Aqui você coloca a mensagem que desejar.
            }
        });

Ou você pode alterar diretamente no .js as mensagens originais.

--
@wbotelhos
Washington Botelho dos Santos {
   http://wbotelhos.com;
}

Neto Neto

unread,
Jul 29, 2010, 9:34:36 AM7/29/10
to jque...@googlegroups.com
A solução apresentada pelo Washinton serve, mas vocÊ spode dar uma olhada aqui:

http://jquery.bassistance.de/validate/demo/errorcontainer-demo.html

No segundao form, as mensagens estão escritas nohtml da página, em uma div escondida, aí vc coloca a que quiser. Também dá para colocar as mensagens no atributo title do input que resolve :p

Neto - Web developer
+55 81 8169.4400 / http://jneto.net.br

Maicon Pinto

unread,
Jul 29, 2010, 9:39:00 AM7/29/10
to jQuery (Brasil)
Washington muito obrigado pela resposta.

A detalhe é que eu dei uma viajada, e procurei errado na documentação,
e achei o que eu queria:

http://docs.jquery.com/Plugins/Validation/rules#.22add.22rules

eu queria isso:

$("#CampoNome").rules("add", {
required: true,
minlength: 2,
messages: {
required: "Nome: Campo Obrigatório",
minlength: "Por favor, pelo menos {0} caracteres são necessários"
}
});


Cara muito obrigado pela resposta....

On 29 jul, 10:02, Washington Botelho <wbotel...@gmail.com> wrote:
> Depende do plugin que estiver usando. O jQuery
> Validation<http://bassistance.de/jquery-plugins/jquery-plugin-validation/>tem
> como customizar:
>
>         $('form').validate({
>             errorPlacement: function(error, element) {
>                 error.appendTo($('element'));
>             },
>             rules: {
>                 'entity.nome':            'required',
>                 'entity.nascimento':    'date'
>             },
>             messages: {
>                 'entity.nome':            {required: '&nbsp;'},
>                 'entity.nascimento':    {date: '*<fmt:message
> key="dataInvalida"/>*'} // Aqui você coloca a mensagem que desejar.

Maicon Pinto

unread,
Jul 29, 2010, 9:41:42 AM7/29/10
to jQuery (Brasil)
Neto obrigado pela resposta também...

Acabei dando um de sem noção, mas me achei na documentação.

Obrigado!
Reply all
Reply to author
Forward
0 new messages