Model validation trong asp

Bài viết này họ đang học tập về phép tắc Model Validation. Thông thường dữ liệu được nhập vì người dùng sẽ không còn đúng theo lệ với tất yêu chuyển vào cửa hàng dữ liệu. Các dữ liệu được nhập có thể chứa một số lỗi chủ yếu tả hoặc người tiêu dùng cầm cố tính nhập những tài liệu ko phù hợp. Vì thay chúng ta rất cần được khám nghiệm tài liệu người tiêu dùng nhtràn vào trước lúc tàng trữ vào cửa hàng dữ liệu. ASP.NET Chip Core hỗ trợ chó bọn họ nguyên tố Hotline là Model Validator, nó dùng các attribute để kiểm tra dữ liệu vào mã sản phẩm dễ ợt rộng. Chúng ta cũng mày mò về ModelState cùng bí quyết sử dụng nó.

Bạn đang xem: Model validation trong asp

Giới thiệu về Model Validation

Form Data post tài liệu lên Controller action tự động được bản đồ vào những ttê mê số của action bởi vì Model Binder nlỗi bọn họ sẽ tò mò sống bài xích trước. Model nên soát sổ dữ liệu đầu vào xem gồm đúng theo lệ ko. Quá trình kiểm tra này hoàn toàn có thể được dứt bởi vì client trước khi trình lên server hoặc VPS đánh giá sau khoản thời gian nhận được từ client. Cơ chế validation phía client (client-side validation) khôn xiết đặc biệt quan trọng bởi nó giúp tăng thử khám phá người dùng Khi kiểm tra tài liệu mà không nên hóng mang đến hệ thống mà lại phía hệ thống lại yêu cầu đảm bảo an toàn một lần nữa nhằm các dữ liệu chưa hợp lệ thiết yếu đưa vào khối hệ thống.

Sự quan trọng đặc biệt của client-side validation

Giúp tăng sự trải nghiệmVì câu hỏi bình chọn triển khai phía trình phê chuẩn client đề nghị phản hồi nhanh khô rộng với gần như là ngay lập tứcTiết kiệm tài nguyên VPS như là đường truyền bằng phương pháp sút truy nã vấn đến hệ thống.

Sự đặc biệt của server-side validation

Client-side validation cung cấp thử dùng người tiêu dùng xuất sắc hơn mà lại thiếu tín nhiệm cậy. Nó rất có thể lỗi bởi vì một trong các lý do sau:

Javascript có thể bị tắt sinh hoạt trình duyệtNgười cần sử dụng rất có thể gửi trực tiếp dữ liệumang lại người dùng cơ mà ko áp dụng áp dụng hoặc áp dụng một số các trình sửa đổi request ăn hại.Lúc Javascript bao gồm lỗi thì hiệu quả là dữ liệu được đưa vào khối hệ thống nhưng rất có thể không hợp lệ

Vì chũm điều đặc trưng là bình chọn tài liệu buộc phải được thực hiện nghỉ ngơi cả phía hệ thống, ngay cả chúng ta đang validate sinh hoạt phía client.

Kiểm tra Model một bí quyết tường minh

Một khi chúng ta dìm Model trong controller, chúng ta có thể bình chọn Model đó bằng phương pháp viết code nlỗi sau:

if (string.IsNullOrEmpty(Model.Name)) //Validation Failed //Sover the các mục of errors lớn clientĐoạn code bên trên solo thuần chỉ khám nghiệm coi trực thuộc tính name của Mã Sản Phẩm gồm trống rỗng giỏi null ko. Đoạn code trên thao tác tốt, mà lại bạn sẽ nên làm cho các lần tương tự giả dụ có nhiều thuộc tính vào mã sản phẩm, lúc đó bạn phải soát sổ cùng với các đoạn code tương tự nhau. Ở đây bạn phải coi làm sao nhằm gửi những báo lỗi về client để hiển thị cho người cần sử dụng. Model Validator sẽ làm cho điều này cho chính mình mà lại ko phải viết các đoạn code quá thãi.

Xem thêm: 5 Cách Làm Youtuber Cần Những Gì, Bạn Có Biết? Làm Youtuber Cần Những Gì, Bạn Có Biết

Model Validation thao tác ra sao?

Chúng vẫn tò mò cách thức Model Binding làm việc ra làm sao trong ASP..NET Chip Core rồi đúng không? Vậy Lúc HTTPhường Request được đưa đến Model Binder thì nó sẽ được call trước lúc truyền tsay mê số vào Controller action. Model Binder đang không chỉ bản đồ dư liệu vào action method cơ mà nó còn kiểm tra chúng áp dụng Model Validator.

Model Validator chạy sau Mã Sản Phẩm binding cùng chạy hàng loạt các xúc tích kiểm soát trên mỗi nằm trong tính của model dựa vào các attribute chúng ta đặt cho các trực thuộc tính đó. Các attribute này gọi là Validation Attribute cùng cất code sử dụng vì Model Validator.

*

Tất cả các logic soát sổ gần như chạy phía hệ thống. ASP.NET bộ vi xử lý Core có rất nhiều những attribute viết sẵn, bạn có thể thêm nó vào nằm trong tính của mã sản phẩm nhằm thiết đặt quy tắc soát sổ. Các phép tắc này cũng rất được gọi là DataAnnotations cùng bên trong namespace: System.ComponentModel.DataAnnotations. Quý Khách đề nghị import nó vào ViewModel với áp dụng.

lấy ví dụ như, bạn đặt ngôi trường sẽ phải nhập đang sử dụng

Public string Name get;set;Model Binder ko phun ra bất kể lỗi như thế nào ví như quy trình bình chọn không hợp lệ. Nhưng nó vẫn update đối tượng người sử dụng ModelState cùng với list lỗi cùng đặt trực thuộc tính IsValid false trước khi Gọi action method. Chúng ta đề xuất bình chọn ModelState.IsValid để hiểu coi quá trình đánh giá gồm hợp lệ hay không nhằm action method hoàn toàn có thể trả về list lỗi nếu nên.

if (ModelState.IsValid) //Model is valid. Call Service layer for further processing of data else //Validation failed. Return the model khổng lồ the user with the relevant error messages

Cách áp dụng Validation Attributes

Cập nhật Model với Data Annotaion

Trong Model, ở trong tính sản xuất Data Annotation attribute được hiển thị bên dưới phía trên. Code sẽ được thêm vào attribute đến ở trong tính Name. Nó cũng rất được setup thông báo trong trường hòa hợp soát sổ dữ liệu chưa phù hợp lệ với attribute đó:

public string Name get; set;

Hiển thị list lỗi Validations

Trong view, sử sử dụng Validation Tag Helper nhằm hiển thị lỗi cho tất cả những người sử dụng. Tag helper asp-validation-summary giúp hiển thị list những thông tin lỗi cho riêng biệt Model validation bên trên form. Nó được đã tích hợp thẻ div và đặt trên cùng của khung. asp-validation-for hiển thị list lỗi mang lại ở trong tính Name nghỉ ngơi phía bên cần của chính nó. Nó được đã tích hợp thẻ span và đặt ngay gần thuộc tính.

Validation tag helper thêm classfield-validation-error với validation-summary-errors vào HTML ví như lỗi kiếm tìm thấy. Vì gắng chúng a thêm các style CSS vào để hiển thị lỗi red color cho những class này. Quý Khách rất có thể đọc thêm phần Validation Tag Helper ở bài bác sau: