2012-02-28 8 views
5

tôi có một lĩnh vực trong đậu mùa xuân của tôi (bean được quản lý với JSF) và tôi đang xác nhận về chiều dài của nó với chú thích @size sử dụng JSR303 xác nhận đậu như sau:Validation chú thích và sở hữu tập tin

@Size(min = 7, max = 15, message = "{password.range}") 
private String newPassword; 

và tôi đã tự hỏi làm thế nào để đọc các giá trị tối thiểu và tối đa từ tập tin tài sản, xin vui lòng tư vấn cho.

+0

liên kết này có thể giúp http://stackoverflow.com/questions/6938906/parametrizable-jsr-303-validation-values ​​ –

+0

nhưng tôi đang sử dụng xác thực bean JSF. –

+0

Xác thực bean JSR303 không phải là một phần của JSF. – BalusC

Trả lời

5

câu trả lời mới

Nó không phải là có thể với ông chuẩn JSR 303 Validatators. Vấn đề là, các giá trị trong chú thích là các giá trị thời gian biên dịch, nhưng các giá trị trong các thuộc tính chỉ có sẵn khi chạy.

Tất nhiên bạn có thể viết Trình xác thực JSR-303 của riêng bạn đọc giá trị từ tệp thuộc tính trong khi xác thực hợp lệ.

Vì vậy mà bạn có thể sử dụng nó theo cách này:

@MySize (minKey = "password.min", maxKey = "password.max", message = "{password.range}")

MySizeValidator sử dụng minKey để đọc giá trị đó từ tệp thuộc tính và sau đó xác thực giá trị hiện tại.

+0

tôi xin lỗi tôi không hiểu bạn đang cố nói gì –

+0

Lỗi của tôi, tôi đã thực hiện sai câu hỏi. – Ralph

+0

Tôi đã thay thế câu trả lời bằng một câu trả lời mới. – Ralph