Lý lịch:
Xác thực mô hình là bắt buộc để đảm bảo rằng dữ liệu đã nhận mà chúng tôi nhận được là hợp lệ và chính xác để chúng tôi có thể thực hiện các xử lý tiếp theo với dữ liệu này. Chúng ta có thể xác nhận một mô hình trong một phương thức hành động. Các thuộc tính xác thực được tích hợp sẵn là So sánh, Phạm vi, Biểu thức chính quy, Bắt buộc, Độ dài chuỗi. Tuy nhiên, chúng tôi có thể có các tình huống trong đó chúng tôi yêu cầu các thuộc tính xác thực khác với các thuộc tính tích hợp sẵn.
Thuộc tính xác thực tùy chỉnh
public class EmployeeModel
{
[Required]
[UniqueEmailAddress]
public string EmailAddress {get;set;}
public string FirstName {get;set;}
public string LastName {get;set;}
public int OrganizationId {get;set;}
}
Để tạo một thuộc tính xác thực tùy chỉnh, bạn sẽ phải lấy lớp này từ ValidationAttribute.
public class UniqueEmailAddress : ValidationAttribute
{
private IEmployeeRepository _employeeRepository;
[Inject]
public IEmployeeRepository EmployeeRepository
{
get { return _employeeRepository; }
set
{
_employeeRepository = value;
}
}
protected override ValidationResult IsValid(object value,
ValidationContext validationContext)
{
var model = (EmployeeModel)validationContext.ObjectInstance;
if(model.Field1 == null){
return new ValidationResult("Field1 is null");
}
if(model.Field2 == null){
return new ValidationResult("Field2 is null");
}
if(model.Field3 == null){
return new ValidationResult("Field3 is null");
}
return ValidationResult.Success;
}
}
Hi vọng điêu nay co ich. Chúc mừng!
Người giới thiệu