ASP.Net MVC cùng với Thuộc tính tùy chỉnh trong mô hình của bạn và với Dao cạo, cho phép bạn chỉ viết Trình trợ giúp HTML như @ Html.ValidationMessageFor (model => model.MyAttribute) để xác thực mỗi trường.Xác thực ASP.Net MVC với Angular VS Razor
AngularJS dự định hiển thị mọi thứ ở phía máy khách, vì vậy chúng tôi không có quyền truy cập Razor và tất cả trình xác thực javascript được tạo miễn phí. Chúng ta phải mã hóa tất cả mọi thứ một lần nữa bằng tay, và chúng ta không có sự đảm bảo rằng việc xác nhận hợp lệ này được đồng bộ hóa với sự xác thực phía máy chủ, mà chúng ta đã có với Razor.
Chúng ta sẽ vượt qua GAP này như thế nào?
Tôi đã gặp phải trường hợp lựa chọn thiết kế tương tự này.Cuối cùng, tôi đã loại bỏ bất kỳ xác thực MVC nào và sử dụng một vài lệnh chỉ thị xác thực của trình khách angularJS được tích hợp sẵn. Đối với các xác nhận hợp lệ cần truy cập vào tài nguyên máy chủ hay không trong bất kỳ xác nhận hợp lệ nào, tôi đã tạo và triển khai nó như một chỉ thị – alpinescrambler
có vẻ như bạn đang cố sử dụng angularjs theo cách tương tự như công việc loại trực tiếp! bỏ các hợp lệ OOB đi kèm với MVC nó sử dụng jquery vì vậy bạn đang cố gắng trộn cam và táo, với tôi bạn nên nghĩ lại dự án của bạn về kiến trúc kịch bản tốt nhất là sử dụng API Restfull phía sau góc cạnh, xác thực mọi thứ trên phía máy khách và xác nhận tất cả các đầu vào của API của bạn ở phía máy chủ, servicestack hoặc API web là các tùy chọn tốt cho phần mềm trung gian của bạn! –
Nhưng API Restfull của tôi có thể trả về một ViewModel được sáng tác bởi một vài đối tượng. Trong Razor Validations chúng được cung cấp miễn phí nếu bạn chỉ sử dụng các thuộc tính trong các lớp mô hình của bạn ở phía máy chủ. Trong góc, tất cả đều bị mất và nếu tôi thay đổi thuộc tính xác thực trên máy chủ, nó sẽ không phản ánh trên máy khách. – user3864332