Für eine Middleware mit JVM 1.8_431 gibt es eine Spring-Anwendung
Ich habe ein Modell mit einem E-Mail-Feld, das ich validieren muss, und es wird durch diesen Code dargestellt:
Code: Select all
import javax.validation.constraints.Email;
/**
* The Class RegForm.
*/
public class RegForm {
....
/** The email. */
@Email(message = "Insert a valid email")
private String email;
//getter and settser
}
Der Inhalt dieser Anwendung besteht aus:
Code: Select all
org.hibernate.validator
hibernate-validator
6.1.1.Final
javax.validation
validation-api
2.0.1.Final
org.glassfish
javax.el
3.0.0
und der Spring Controller, den ich in diesem Modell verwende, ist:
Code: Select all
//many imports
import javax.validation.Valid;
....
@Controller
@RequestMapping("/reg")
public class RegController {
@RequestMapping(value = "/index", method = RequestMethod.GET)
public String index(@ModelAttribute("regForm") @Valid @RequestBody RegForm regForm,
BindingResult result, Model model, final RedirectAttributes redirectAttributes, HttpServletRequest req)
throws AcceleratoreException {
......
}
Wenn ich die Anwendung starte und diese API aufrufe, lautet der Serverantwortstatus 500 und im Protokoll steht:
Code: Select all
Root cause of ServletException.
javax.validation.UnexpectedTypeException: HV000030: No validator could be found for constraint 'javax.validation.constraints.Email' validating type 'java.lang.String'. Check configuration for 'email