I try to perform validation using javax annotations where data transfer object for User is being processed (UserDTO) but without expected success.
Here is controller:
@Controller
public class AuthenticationController {
@CrossOrigin(allowCredentials = "true")
@RequestMapping(value= "/postAccountData", method = RequestMethod.POST)
public @ResponseBody String postAccountData(@Valid UserDTO userData,
BindingResult result) {
System.out.println(" Is userData not null? " + userData != null);
System.out.println("BindingResult : " + result + " has errors: " +
result.hasErrors());
return "Response from POST account!";
}
}
Here is the object (UserDTO) :
public class UserDTO {
@NotNull
@NotEmpty
public String firstName;
@NotNull
public String lastName;
@NotNull
@NotEmpty
public String password;
public String matchingPassword;
@NotNull
@NotEmpty
@NotBlank
public String email;
@NotNull
@NotBlank
public String description;
}
When I use Postman to sent (POST) data then it is correctly parsed as an UserDTO object but I am not able to trigger any error thus hasErrors() method returns false at each invocation when null fields are present in retrieved UserDTO object. What am I missing?