private List<string> Validate(ValidatableViewModel vm) { if (vm == null) { throw new ArgumentNullException("vm"); } var result = ValidateCore(); result.AddRange(from item in _validationAttributeDictionary let value = item.Key.GetValue(vm, null) from validationItem in item.Value select validationItem.Validate(this, value) into error where !string.IsNullOrEmpty(error) select error); return result; }
private List <string> Validate(ValidatableViewModel vm) { if (vm == null) { throw new ArgumentNullException("vm"); } var result = ValidateCore(); result.AddRange(from item in _validationAttributeDictionary let value = item.Key.GetValue(vm, null) from validationItem in item.Value select validationItem.Validate(this, value) into error where !string.IsNullOrEmpty(error) select error); return(result); }
private List <string> Validate(ValidatableViewModel vm, string propertyName) { if (vm == null) { throw new ArgumentNullException("vm"); } var result = new List <string>(); List <IValidationItem> validators; var propertyInfo = GetType().GetProperty(propertyName); if (_validationAttributeDictionary.TryGetValue(propertyInfo, out validators)) { var value = propertyInfo.GetValue(vm, null); result.AddRange( from validationItem in validators let error = validationItem.Validate(this, value) where !string.IsNullOrEmpty(error) select error); } RaisePropertyChanged(() => IsValid); return(result); }
private List<string> Validate(ValidatableViewModel vm, string propertyName) { if (vm == null) { throw new ArgumentNullException("vm"); } var result = new List<string>(); List<IValidationItem> validators; var propertyInfo = GetType().GetProperty(propertyName); if (_validationAttributeDictionary.TryGetValue(propertyInfo, out validators)) { var value = propertyInfo.GetValue(vm, null); result.AddRange( from validationItem in validators let error = validationItem.Validate(this, value) where !string.IsNullOrEmpty(error) select error); } RaisePropertyChanged(() => IsValid); return result; }