2010-05-17 35 views
6

Bạn có thể xác thực chỉ một thuộc tính với Thư viện Fluent Validation và nếu có thì làm cách nào? Tôi nghĩ this discussion thread from January of 2009 chỉ cho tôi làm thế nào để làm điều đó thông qua cú pháp sau:Xác thực một thuộc tính duy nhất với Thư viện xác thực thông thạo cho .Net

validator.Validate(new Person(), x => x.Surname); 

Đáng tiếc là nó không xuất hiện công trình này trong phiên bản hiện tại của thư viện. Một điều khác mà dẫn tôi để tin rằng việc chứng thực một tài sản duy nhất có thể có thể là đoạn trích sau đây từ Jeremy Skinners' blog post:

"Cuối cùng, tôi đã thêm khả năng để có thể thực hiện một số Validators tài sản FluentValidation của mà không cần phải xác nhận Điều này có nghĩa là giờ đây bạn có thể dừng thông báo “Giá trị được yêu cầu” mặc định từ việc được thêm vào ModelState. ”

Tuy nhiên tôi không biết điều đó có nghĩa là nó chỉ hỗ trợ xác thực một thuộc tính duy nhất hoặc thực tế là bạn có thể yêu cầu thư viện xác nhận ngừng xác thực sau khi lỗi xác thực đầu tiên.

+1

Nghĩa đen mỗi liên kết trong bài này không hoạt động nữa :( –

Trả lời

4

Theo this discussion trên CodePlex, khả năng đó được thêm bằng phương pháp mở rộng. Bạn sẽ cần nhập khẩu không gian tên FluentValidation để hiển thị trong IntelliSense.

+1

FluentValidation.DefaultValidatorExtensions có phương pháp khuyến nông để xác nhận bởi một hoặc nhiều tên bất động sản. IE 'MyClassValidator.Validate (MyClassInstance, "MyPropertyName") ' – bdeem

Các vấn đề liên quan