/// <summary> /// Call to add specific validator to a model property /// </summary> protected PropertyValidationRule <TBindingModel> AddValidationFor <T>(Expression <Func <T> > propertyExpression, ValidationAttribute validator = null) { string propertyName = PropertySupport.ExtractPropertyName(propertyExpression); PropertyValidationRule <TBindingModel> result = AddValidationFor <T>(propertyName, validator); return(result); }
protected PropertyValidationRule <TBindingModel> AddValidationFor <T>(string propertyName, ValidationAttribute validator = null) { PropertyValidationRule <TBindingModel> validation = new PropertyValidationRule <TBindingModel>(propertyName, validator); _validations.Add(validation); return(validation); }
private void PerformValidation(PropertyValidationRule <TBindingModel> validation) { TBindingModel presentationModel = (TBindingModel)this; if (validation.IsInvalid(presentationModel)) { AddErrorMessageForProperty(validation.PropertyName, validation.GetErrorMessage(presentationModel)); } }