Tôi đang cố gắng để xác thực phía máy khách không hoạt động trong mô-đun Orchard, nhưng tôi đã gặp sự cố.Chú thích dữ liệu CMS của CMS - Xác thực phía máy khách
Trong ví dụ này tôi chỉ đang cố gắng thực thi RequiredAttribute trên trường hộp văn bản, sử dụng Html.TextBoxFor().
Có vẻ với tôi như thể ModelValidatorProvider tùy chỉnh được thực hiện bởi Orchard (LocalizedModelValidatorProvider) ngăn chặn các thuộc tính đầu vào HTML5 khỏi bị trả lại, cụ thể là:
data-val
data-val-required
cho DataAnnotations chuẩn RequiredAttribute. Các thuộc tính này được yêu cầu bởi jQuery.validate.unobtrusive để làm việc.
LocalizedModelValidatorProvider ánh xạ thuộc tính RequiredAttribute thành LocalizedRequiredAttribute, vì vậy có lẽ đây là lỗi (hoặc tính năng chưa được thực hiện) trong Orchard ViewEngine khi hiển thị đầu vào hộp văn bản cho thuộc tính mô hình được trang trí bằng LocalizedRequiredAttribute?
Tôi nghi ngờ rằng bằng cách nào đó điều này không xảy ra:
tagBuilder.MergeAttributes(htmlHelper.GetUnobtrusiveValidationAttributes(name, metadata));
(từ System.Web.Mvc.Html.InputExtensions)
Tôi hiện đang chạy Orchard 1.3.9.
Lưu ý: Một workaround hacky là để loại bỏ các đăng ký của LocalizedModelValidatorProvider trong module OrchardStarter và mặc định trở lại với tiêu chuẩn nhà cung cấp MVC 3, mặc dù tôi quan tâm không làm phiền các nguồn Orchard nếu có thể (không đề cập đến tôi có thể cần thư được bản địa hóa tại một số thời điểm) ...
Đã bao giờ được giải quyết chưa. Tôi đang va vào bức tường gạch để đạt được điều này. – Mounhim
Không phải bởi tôi - mặc dù điều đáng chú ý là trong phiên bản 1.3.9 gần một năm tuổi - nó có thể đã được sửa trong các phiên bản sau. Các công việc xung quanh được mô tả ở trên là ok cho tôi cuối cùng vì vậy đã không theo đuổi nó - tôi có lẽ nên đã đưa ra một lỗi ... –
Tại sao không cố gắng của sâu, nó có inbuilt năng động hình thức chức năng nó có sẵn chiến lược xác nhận bạn có thể định nghĩa. https://gallery.orchardproject.net/List/Modules/Orchard.Module.oforms – bijayk