public void AddError(string message, object details = null) { Check.NotNull(message, nameof(message)); var target = ValidationTarget.ForError(Step, Target, null, null); var error = new ValidationError(Validator, target, message, details); AddError(error); }
public ValidationResult GetResult( ValidationStep step, IViewModel target, IVMPropertyDescriptor targetProperty = null ) { var t = ValidationTarget.ForInstance(step, target, targetProperty); var request = t.CreateValidationRequest(); var result = t.VM.ExecuteValidationRequest(request); var collectionResult = GetCollectionItemResults(t); return(ValidationResult.Join(result, collectionResult)); }
private ValidationResult GetCollectionItemResults(IInstanceValidationTarget item) { var result = ValidationResult.Valid; foreach (var ownerCollection in item.VM.Kernel.OwnerCollections) { CollectionResult collectionResult = ValidateCollectionIfNotInCache( ValidationTarget.ForCollection( item.Step, ownerCollection, item.Property ) ); var itemResult = collectionResult.GetResultFor(item.VM); result = ValidationResult.Join(result, itemResult); } return(result); }