Walidacja wiosennego formularza MVC
moim problemem jest to, że mam formularz, który ma element wyboru html z wybraną wartością opcji i chcę zweryfikować te wartości za pomocą:
org.hibernate.validator.constraints
or
javax.validation.constraints
adnotacje. oto mój wybrany element:
<select name="status" id="tbSelect">
<option value="ACTIVE">ACTIVE</option>
<option value="LISTEN">LISTEN</option>
<option value="DOWN">DOWN</option>
</select>
jak mogę na przykład zweryfikować wartość opcji (DOWN, LISTEN, ACTIVE) wewnątrz elementu select, używając walidatorów adnotacji, o których wspominam powyżej?
moja forma jest taka:
<form:form action="../agents/add" method="POST" commandName="myAgent">
<form:select id="tbSelect" path="state">
<form:option value="ACTIVE" path="state">ACTIVE</form:option>
<form:option value="LISTEN" path="state">LISTEN</form:option>
<form:option value="DOWN" path="state">DOWN</form:option>
</form:select>
Zdefiniowałem moją metodę kontrolera w ten sposób:
@RequestMapping(value = "agents/add", method = RequestMethod.POST)
public String addAgentSubmit(@ModelAttribute("myAgent") @Valid final AgentValidator agent, BindingResult result, RedirectAttributes redirect) {
if (result.hasErrors()) {
return "admin/agent/add";
}
...
}
definiuję również atrybut ModelAttribute w ten sposób:
@ModelAttribute("myAgent")
public AgentValidator getLoginForm() {
return new AgentValidator();
}
Oto moja klasa AgentValidator:
public class AgentValidator {
@NotEmpty(message = "your state can not be empty !")
private String state;