Original: MVC validation 07-Custom model level validation
In the general custom validation feature, we implement iclientvalidatable by inheriting Validationattribute, and can only complete custom validation of a property.
You can use Ivalidatableobject to complete model-level validation.
-Model to implement the Ivalidatableobject interface
Public class Registermodel:ivalidatableobject
{
Public int Registercount{get;set;}
Public int Qutoa{get;set;}
Implement the Ivalidatableobject interface method for custom validation
Public Ienumerable<validationresult> Validate (Validationcontext validationcontext)
{
New List<validationresult> ();
if (Registercount > Quota)
{
Results. ADD (new Validationresult ("The number of applicants has exceeded the quota limit"newstring"Registercount " }));
}
if (registercount>3)
{
Results. ADD (new Validationresult ("up to three participants"newstring"Registercount" }));
}
return results;
}
}
It is visible that validation rules are customized at the model level.