Eu estava usando o validator no formato normal e estava funcionando com messages.properties,
mas precisei usar ele com ajax ai ele retorna o studentNotSelected e não a mensage que está no messages.properties.
O que estou fazendo de errado?
List<Message> errors = new Validations(){{
that(studentEnrollment.getStudent().getId() != null, "validation","studentNotSelected");
}}.getErrors(ResourceBundle.getBundle("messages"));
validator.addAll(errors);
//Message m = errors.get(0);
validator.onErrorUse(Results.json()).withoutRoot().from(errors).serialize();
mesmo fazendo assim ele não usa o do messages.properties?
existe a chave studentNotSelected lá?
Lucas_Cavalcanti
ah, entendi o problema…
vc está usando o resultado em json. E ele serializa usando os campos dos objetos e não os getters, então ele não vai mostrar internacionalizado mesmo =(
vc pode usar isso em todo caso:
validator.onErrorSendBadRequest();
que já serializa os erros em JSON, se a requisição está pedindo um json (isso acontece qdo vc usa $.getJSON, $.get(…, “json”), etc)
dá pra resolver isso convertendo as mensagens pra validationMessage, ou criando um converter do XStream
abre uma issue lá no VRaptor reportando esse bug, por favor?
gporpino
Brother fiz o que vc falou…
mas o retorno json é 200 e não 400 (Bad Request);
Eu necessito que quando vinher erro venha 400 e quando vier ok venha 200.