Ola pessoal, estou tentando validar os campos com JavaScript e não consigo passar a mensagem para o Idioma em portugues!
Esse é a maneira que pesquisei na internet e pensei que faria:
<!-- usa a tag c:url para poder usar as URIs absolutas, a partir do nosso nome de contexto. -->
<form id="produtosForm" action="<c:url value="/produtos"/>"
method="POST">
<fieldset>
<legend>Adicionar produtos</legend>
<label for="nome">Nome:</label> <input id="nome" class="required"
minlength="3" type="text" name="produto.nome"
value="${produto.nome }" /> <label for="descricao">Descrição:</label>
<textarea id="descricao" class="required" maxlength="40"
name="produto.descricao">${produto.descricao }</textarea>
<label for="preco">Preço:</label> <input id="preco" class="required"
min="0" type="text" name="produto.preco" value="${produto.preco }" />
<button type="submit">Enviar</button>
</fieldset>
<script type="text/javascript">
var validator = $("#produtosForm").validate({
messages:{
produto.nome:{
required: "O campo nome é obrigatorio!",
minlength: "O campo nome deve conter no mínimo 3 caracteres!"
}
produto.descricao: {
required: "O campo telefone é obrigatorio!",
maxlength: "O campo não deve ultrapassar 40 caracteres!"
}
produto.preco: {
required: "O campo preço é obrigatorio!",
min: "O campo preço deve possuir um valor Positivo!"
}
},
});
</script>
Sendo que também depois de funcionar assim eu já penso em fazer no Internacional, tipo fazer com que carregue a mensagem desde o arquivo message.properties
, para que futuramente eu possa gerar a mensagem em outros idiomas.
Alguém tem idéia disso e pode me ajudar? Obrigado!
Consegui resolver Uhull!!
Modifiquei a maneira e ficou assim:
<!-- usa a tag c:url para poder usar as URIs absolutas, a partir do nosso nome de contexto. -->
<form id="produtosForm" action="<c:url value="/produtos"/>"
method="POST">
<fieldset>
<legend>Adicionar produtos</legend>
<label for="nome">Nome:</label>
<input id="nome" type="text" name="produto.nome"
value="${produto.nome }" />
<label for="descricao">Descrição:</label>
<textarea id="descricao"
name="produto.descricao">${produto.descricao }</textarea>
<label for="preco">Preço:</label> <input id="preco"
type="text" name="produto.preco" value="${produto.preco }" />
<button type="submit">Enviar</button>
</fieldset>
</form>
<!--
<script type="text/javascript">
var validator = $('#produtosForm').validate();
</script>
-->
<script type="text/javascript">
$("#produtosForm").validate({
rules:{
"produto.nome":{
required:true,
minlength: 3
},
"produto.descricao":{
required:true,
maxlength:40
},
"produto.preco":{
required:true,
min:0
}
},
messages:{
"produto.nome":{
required: "O campo nome é obrigatorio!",
minlength: "O campo nome deve conter no mínimo 3 caracteres!"
},
"produto.descricao": {
required: "O campo descrição é obrigatorio!",
maxlength: "O campo não deve ultrapassar 40 caracteres!"
},
"produto.preco": {
required: "O campo preço é obrigatorio!",
min: "O campo preço deve possuir um valor Positivo!"
}
}
});
</script>
Sendo que sobre a dúvida que tenho de mostrar a mensagem desde o arquivo message.properties.
Por exemplo como se faz com o Hibernate:
aqui uma solução que tentei e não funcionou:
"produto.nome":{
required: "{nome.vazio}",
Alguém sabe como carregar desde o arquivo messages.properties em JavaScript??