private void VisitEnumerable(string propertyName, object propertyVal, IDtoValidatorResult dtoValidatorResult) { IDtoValidator dtoValidator; var enumerator = ((IEnumerable)propertyVal).GetEnumerator(); int index = 0; while (enumerator.MoveNext()) { if (index == 0) { dtoValidator = _dtoValidatorFactory.TryCreate(enumerator.Current.GetType()); if (dtoValidator == null) { break; //For now assume that types in Enumerable are all of same type } } var result = Validate(enumerator.Current); if (!result.IsValid) { dtoValidatorResult.AddArgumentErrors(result.ArgumentErrors); result.AddPrefixToArgumentErrorNames(propertyName + "[" + index + "]" + "."); } index++; } }
private void VisitSingle(string propertyName, object propertyValue, IDtoValidatorResult dtoValidatorResult) { var result = Validate(propertyValue); if (!result.IsValid) { dtoValidatorResult.AddArgumentErrors(result.ArgumentErrors); dtoValidatorResult.AddPrefixToArgumentErrorNames(propertyName + "."); } }