Tôi có một đối tượng.Số nguyên xác nhận chú thích mùa xuân mvc
public class MyObject
{
....
@Column(name = "a_number") @NotNull @NumberFormat(style = Style.NUMBER) @Min(1)
private Integer aNumber;
...
//getters and setters
}
Trong bộ điều khiển của tôi, tôi có chú thích @Valid trên đối tượng đang được đăng. Tôi có xác nhận làm việc trên tất cả các lĩnh vực khác của tôi trong lớp (tất cả các chuỗi của họ), ngoại trừ số này. Nếu tôi nhập một số từ mẫu của tôi, nó hoạt động tốt và nếu tôi vi phạm @Min (1) nó cũng sẽ cho tôi lỗi xác thực chính xác. Tuy nhiên, vấn đề của tôi là nếu bạn nhập một chuỗi thay vì một số thì nó sẽ ném ra một NumberFormatException.
Tôi đã xem nhiều ví dụ về Số nguyên và xác thực nhưng không có tài khoản nào nếu bạn nhập chuỗi vào biểu mẫu đang được đăng. Tôi có cần phải thực hiện xác nhận khác ở đâu không? Javascript? Tôi muốn một giải pháp phù hợp với phần còn lại của xác nhận mùa xuân để tôi có thể sử dụng nó trong các lớp khác. Tôi chỉ muốn một lỗi nói rõ nó phải là số. Ngoài ra tôi đã thử bằng cách sử dụng chú thích @Pattern nhưng dường như thats chỉ dành cho chuỗi.
Đề xuất?
Xem http://stackoverflow.com/questions/4082924/jsr-303-type-checking-before-binding – axtavt
Cảm ơn !! Làm việc pefect! Bài đăng của bạn không bao giờ xuất hiện trong tìm kiếm của tôi. – sauce