Pergunta

Como faço para exibir em uma mensagem de erro de validação JSP visualizada que ocorre como resultado de @AssertTrue anotação? Ele não está ligado a um campo específico, mas estou usando -o para validar uma combinação de campos. Se eu usar <form:errors path="*"/> Isso exibirá todos os erros para esse formulário?

Foi útil?

Solução 2

Declarar uma propriedade booleana é o que parece funcionar para isso. Então, se houver:

@AssertTrue
public boolean isConditionTrue() {
   ...
   ...
}

depois declarar uma propriedade como:

private boolean conditionTrue;

funciona.

Outras dicas

Pelo que testei, é importante COMO AS você nomeia sua função de teste. E você deve nomeá -lo corretamente.

Você não precisa de campo, getter ou setter, mas sua função precisa começar com a instrução 'is*'.

Fe.

@AssertTrue
public boolean isConditionTrue() {
   ...
   ...


}

ou

@AssertTrue
public boolean isSomethingElseOk() {
   ...
   ...
}

No entanto, você precisa de um campo e getter/setter se precisar usar um formulário de erro com caminho, como:

<form:errors path="someFieldToDisplay" />

Mas acho que isso é bastante óbvio.


Algum problema de esquema em que eu não entrei, mas pode ser útil:

Isso pode ser útil também:falta de mensagens de erro.

Mas se você usar o esquema sem tag de versão, ele usa a versão mais recente por padrão.

Você deve nomear sua propriedade assim:

@AssertTrue(message = "....")
private boolean conditionTrue; //***NOT isConditionTrue***

public boolean isConditionTrue() {
    return conditionTrue;
}

public void setConditionTrue(boolean conditionTrue) {
    this.conditionTrue= conditionTrue;
}

<form:errors path="*"/> or
<form:errors path="conditionTrue"/>
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top