/// <inheritdoc /> public IEnumerable <ValidationResult> Validate(ValidationContext validationContext) { var results = new List <ValidationResult>(); if (ForeignKey.ForeignColumns.Count > 0) { var ctxt = new ValidationContext(ForeignKey, validationContext.Items); ctxt.InitializeServiceProvider(validationContext.GetService); ValidationUtilities.TryCollectResults(ctxt, ForeignKey, results); } else { if (string.IsNullOrEmpty(ForeignKey.Name)) { results.Add(new ValidationResult(ErrorMessages.ForeignKeyNameCannotBeNullOrEmpty)); } if (string.IsNullOrEmpty(ForeignKey.ForeignTable)) { results.Add(new ValidationResult(ErrorMessages.ForeignTableNameCannotBeNullOrEmpty)); } } return(results); }
public static ICollection <string> CollectErrors(params object[] items) { var result = new List <ValidationResult>(); foreach (var item in items) { var context = new ValidationContext(item); ValidationUtilities.TryCollectResults(context, item, result); } return(result .Where(x => x != ValidationResult.Success) .Select(x => x.ErrorMessage).ToList()); }
/// <inheritdoc /> public virtual IEnumerable <ValidationResult> Validate(IMigrationExpression expression) { var items = new Dictionary <object, object>(); var context = new ValidationContext(expression, items); if (_serviceProvider != null) { context.InitializeServiceProvider(_serviceProvider.GetService); } var result = new List <ValidationResult>(); if (!ValidationUtilities.TryCollectResults(context, expression, result)) { return(result); } return(Enumerable.Empty <ValidationResult>()); }