Mục lục nội dung
Làm thế nào để sử dụng các attributes
Tất cả những thuộc tính được viết ngay trước property / class / function với số 0 hoặc nhiều tham số bắt buộc theo sau bởi một list những thông số kỹ thuật được đặt tên tùy chọn. Các thuộc tính StringLength, ví dụ, có một tham số bắt buộc : MaximumLength
public string MembershipCode { get; set; }… Nhưng cũng có thể đính kèm các thông số như tên MinimumLength và ErrorMessage. Khi sử dụng Visual Studio bạn đang được cung cấp một danh sách của tất cả các thông số được đặt tên có sẵn.
Bạn đang xem: Modelstate.isvalid là gì
public string UserName { get; set; }public string CountryCode { get; set; }
Làm thế nào MVC sử dụng để validate biến đến (incoming variable)
Các đối tượng ModelState chứa thông tin về tất cả các thông số đầu vào. Trong ví dụ dưới đây biến đến là các đối tượng Customer. Nếu các đối tượng Customer xác định rằng CountryCode là Required nhưng không có CountryCode được liệt kê trong số các biến đến, ModelState sẽ đánh dấu một sự thất bại xác nhận và người dùng sẽ được chuyển hướng trở lại trang với một thông báo lỗi. Xác nhận điều này được thực hiện tự động cho bạn và cho thấy một ví dụ về cách hữu các thuộc tính có thể được.
Xem thêm: Lượng Từ Là Gì – Soạn Bài Số Từ Và Lượng Từ
public ActionResult Edit(Customer customer){ if (ModelState.IsValid) { // Save customer return RedirectToAction(“Index”); } else { return View(); }}
Ràng buộc dữ liệu đối với các attributes
Ở đây sau một danh sách các validation phổ biến nhất các thuộc tính có sẵn khi xây dựng một mô hình code-first.** Compare**So sánh giá trị của một property đối với property khác. Các property Compare tồn tại trong cả System.Web.Mvc và System.Component.DataAnnotationsVí dụ dưới đây làm cho chắc chắn rằng các đặc tính Email và EmailVerify đều giống nhau.
Xem thêm: Fee Waiver Là Gì – Những Câu Hỏi Thường Gặp Khi Du Học
Bạn đang đọc: Modelstate.isvalid là gì
public class RegisterEmailAddressViewModel { public int UserId { get ; set ; } public string E-Mail { get ; set ; } public string EmailVerify { get ; set ; } } Xin chú ý quan tâm rằng ví dụ trên không có dự tính cho việc tàng trữ cơ sở tài liệu. Nếu bạn sử dụng thuộc tính so sánh trong một lớp quy mô cơ sở tài liệu hoàn toàn có thể bạn cũng hoàn toàn có thể thuộc tính vì bạn ko muốn lưu email 2 lần
CreditCard
public class Transaction { public int TransactionId { get ; set ; } public decimal Amount { get ; set ; } public string CreditCardNumber { get ; set ; } } * * CustomValidation * * Khi bạn muốn viết validation của riêng bạn. Đơn giản chỉ cần tạo ra một lớp thực thi những lớp ValidationAttribute. Thêm một tính năng public static mà đồng ý một giá trị được so sánh và trả về một biểu lộ của ValidationResult .
public class OldEnoughValidationAttribute : ValidationAttribute{ public static ValidationResult IsOldEnough(int givenAge) { if (givenAge >= 20) return ValidationResult.Success; else return new ValidationResult(“You”re not old enough”); }}Sử dụng nó như sau
public class Customer { public int Age { get ; set ; } Một cách khác để tạo và sử dụng những custom validation, thay vì tạo ra những public static, để ghi đè lên những tính năng IsValid hiện trong lớp ValidationAttribute. Override công dụng IsValidpublic class OldEnoughValidationAttribute : ValidationAttribute { public int LimitAge { get ; set ; } public OldEnoughValidationAttribute ( int limitAge ) { LimitAge = limitAge ; } protected override ValidationResult IsValid ( object value, ValidationContext validationContext ) { int val = ( int ) value ; if ( val > = LimitAge ) return ValidationResult. Success ; else return new ValidationResult ( ErrorMessageString ) ; } } * * Dùng nó như sau * *
public class Customer{ public int Age { get; set;}
Kiểu dữ liệu (DataType)
Cho phép bạn chỉ định một kiểu dữ liệu mà cụ thể hơn các chỉ định trong database.Điều này có thể được sử dụng để cung cấp validation chính xác hơn và hiển thị thích hợp cho người sử dụng. Kiểu dữ liệu hợp lệ là:
CreditCardCurrencyCustomDate – date valueDateTime – date and time valueDurationEmailAddressHtml – specify that Html code is expectedImageUrl – url to an imageMultilineText – uses textarea instead of text as input type in forms.PasswordPhoneNumberPostalCodeTextTimeUpload – a file upload data typeUrlCreditCardCurrencyCustomDate – date valueDateTime – date and time valueDurationEmailAddressHtml – specify that Html code is expectedImageUrl – url to an imageMultilineText – uses textarea instead of text as input type in forms. PasswordPhoneNumberPostalCodeTextTimeUpload – a file upload data typeUrl* * Sử dụng như sau * *
public class Customer{ public string Email { get; set; }}Display
Trưng bày text label cho properties
Xem thêm: Thuốc Berberin: Những điều cần biết
public class Customer{ public bool EmailIsConfirmed { get; set; }}DisplayFormat
Chỉ định format tài liệu
public class Post{ public DateTime PostedDate { get; set; } // Display as currency public object WritingCost; // Store NULL as NULL but show as empty string public string ExtraDescription { get; set; }}EmailAddress
Format địa chỉ email
public class Customer{ public string EmailAddress { get; set; }}EnumDataType
Dùng để map một giá trị với một chuỗi có nghĩa ( key-value )
public class Line{ public object LineColor { get; set; }}public enum IntColor{ Red = 1, Blue = 2, Green = 3, Yellow = 4}FileExtensions
Chỉ định extension cho một file
public class Person{ public int Id { get; set; } public string FirstName { get; set; } public string LastName { get; set; } public string Avatar { get; set; }}Nếu png sẽ có lỗi như sau :
MembershipPassword
public class Customer{ public string UserName { get; set; } public string Password { get; set; }}Phone
public class CustomerPhone{ public int Id { get; set; } public string PhoneNumber { get; set; }}Range
Chuyên mục: Chuyên mục : Hỏi Đáp
Source: https://mindovermetal.org
Category: Wiki công nghệ