protected virtual bool ValidateInputParameter(object[] parameterInfos, ref IList <EntityValidationResult> validateResults) { bool flag = true; foreach (var parameterInfo in parameterInfos) { if (parameterInfo == null) { continue; } var tempValidationProvider = ValidationFactory.Create(); var internalValidateEntity = new InternalValidateEntity(parameterInfo as IAggregateRoot); var customerValidator = tempValidationProvider.GetEntityValidator(internalValidateEntity); var tempEntityValidationContext = new EntityValidationContext(internalValidateEntity, new ValidationContext(internalValidateEntity.EntityValue, null, new Dictionary <object, object>())); var results = customerValidator.Validate(tempEntityValidationContext); var oldResult = validateResults.Where(pre => pre.Entry == internalValidateEntity.EntityValue).FirstOrDefault(); if (oldResult == null) { continue; } validateResults.Remove(oldResult); validateResults.Add(results); flag = results.IsValid; if (!flag) { break; } } return(flag); }
public override EntityValidationResult Validate(object value, EntityValidationContext entityValidationContext) { if (entityValidationContext == null) { throw new ArgumentNullException("entityValidationContext", "EntityValidationContext not provided."); } if (value != null) { if (CachedValidationFunc == null) { CachedValidationFunc = Parser.Parse(entityValidationContext.ObjectType, Expression); } if (!CachedValidationFunc(entityValidationContext.ObjectInstance)) { return (new EntityValidationResult(FormatErrorMessage(entityValidationContext.DisplayName, Expression))); } } return(EntityValidationResult.Success()); }
public override EntityValidationResult Validate(object value, EntityValidationContext entityValidationContext) { if (entityValidationContext == null) { throw new ArgumentNullException("entityValidationContext", "EntityValidationContext not provided."); } var isEmpty = value is string && string.IsNullOrWhiteSpace((string)value); if (value == null || (isEmpty && !AllowEmptyStrings)) { if (CachedValidationFunc == null) { CachedValidationFunc = Parser.Parse(entityValidationContext.ObjectType, Expression); } if (CachedValidationFunc(entityValidationContext.ObjectInstance)) { return (new EntityValidationResult(FormatErrorMessage(entityValidationContext.DisplayName, Expression))); } } return(EntityValidationResult.Success()); }
public abstract EntityValidationResult Validate(object value, EntityValidationContext entityValidationContext);
/// <summary> /// Async Validation for Insert new Entity /// </summary> /// <param name="ent">Entity to Add</param> /// <param name="c">Custom Validation Context</param> /// <returns>Task</returns> protected override Task ValidatePreInsert(TestData ent, EntityValidationContext c) { return(Task.CompletedTask); }