পটভূমি:
আমরা প্রাপ্ত প্রাপ্ত ডেটা বৈধ এবং সঠিক কিনা তা নিশ্চিত করার জন্য মডেল বৈধতাগুলির প্রয়োজন হয় যাতে আমরা এই ডেটা দিয়ে আরও প্রক্রিয়াজাতকরণ করতে পারি। আমরা একটি ক্রিয়া পদ্ধতিতে কোনও মডেলকে বৈধতা দিতে পারি। অন্তর্নির্মিত বৈধতা বৈশিষ্ট্যগুলি তুলনা, ব্যাপ্তি, নিয়মিত এক্সপ্রেসন, প্রয়োজনীয়, স্ট্রিংলেন্থ। তবে আমাদের এমন পরিস্থিতি থাকতে পারে যেখানে অন্তর্নির্মিতগুলি বাদে আমাদের বৈধতার বৈশিষ্ট্যগুলির প্রয়োজন।
কাস্টম বৈধকরণ বৈশিষ্ট্য
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;}
}
একটি কাস্টম বৈধতা বৈশিষ্ট্য তৈরি করতে, আপনাকে এই শ্রেণিটি বৈধকরণঅ্যাট্রিবিউট থেকে নেওয়া হবে।
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;
}
}
আশাকরি এটা সাহায্য করবে. চিয়ার্স!
তথ্যসূত্র