Tôi có một backend Java với Spring MVC và tôi đang sử dụng xác nhận theo cách này trên đối tượng tên miền của tôi cho một địa chỉ email:Java/Spring MVC 3 xác nhận của một địa chỉ email
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Pattern;
import javax.validation.constraints.Size;
...
@NotNull
@Size(min = 1, max = 100)
@Pattern(regexp="^([a-zA-Z0-9\\-\\.\\_]+)'+'(\\@)([a-zA-Z0-9\\-\\.]+)'+'(\\.)([a-zA-Z]{2,4})$")
private String email;
Nhưng tất cả tôi nhận được với những dòng mã
Set<ConstraintViolation<Person>> failures = validator.validate(personObject);
...
Map<String, String> failureMessages = new HashMap<String, String>();
for (ConstraintViolation<Person> failure : failures) {
failureMessages.put(failure.getPropertyPath().toString(), failure.getMessage());
System.out.println(failure.getPropertyPath().toString()+" - "+failure.getMessage())
}
tôi có được điều này trên console:
email - must match "^([a-zA-Z0-9\\-\\.\\_]+)'+'(\\@)([a-zA-Z0-9\\-\\.]+)'+'(\\.)([a-zA-Z]{2,4})$"
nhưng tôi có như địa chỉ email 012., vì vậy regexp không khớp.
Vì vậy, tôi có hai prolems:
- Có gì sai ở đây?
- Và làm thế nào tôi có thể xác định một thông báo lỗi trên của riêng tôi, vì màn hình này cho người dùng, đó không phải là một điều tốt :-)
Cảm ơn bạn trước sự giúp đỡ của bạn và Best Regards.
Phiên bản nào của Spring MVC bạn đang sử dụng? –
Phiên bản mới nhất 3.0.5. – Tim