Custom ValidationAttribute test against whole model

前端 未结 3 1297
执笔经年
执笔经年 2020-12-22 11:12

I know this is probably not possible but let\'s say I have a model with two properties.

I write a ValidationAttribute for one of the properties. Can that VA look at

3条回答
  •  余生分开走
    2020-12-22 11:33

    Use ValidationContext to get your model:

     public class MyRequiredValidator: RequiredAttribute
        {
            public override bool RequiresValidationContext
            {
                get {return true;} //it needs another propertie in model            
            }
    
            protected override ValidationResult IsValid(object value, ValidationContext validationContext)
            {
                QuickQuote model = (QuickQuote)validationContext.ObjectInstance;
    
                if (model.state == "single")
                    return null;
                else
                    return base.IsValid(value, validationContext);//familyType is require for married
            }      
        }
    

提交回复
热议问题