private protected void InvokePropertyValidator(ValidationContext <T> context, Lazy <TProperty> accessor, string propertyName, RuleComponent <T, TProperty> component) { bool valid = component.Validate(context, accessor.Value); if (!valid) { PrepareMessageFormatterForValidationError(context, accessor.Value); var failure = CreateValidationError(context, accessor.Value, component); context.Failures.Add(failure); } }
private void InvokePropertyValidator(ValidationContext <T> context, TElement value, string propertyName, RuleComponent <T, TElement> component, int index) { context.MessageFormatter.AppendArgument("CollectionIndex", index); bool valid = component.Validate(context, value); if (!valid) { PrepareMessageFormatterForValidationError(context, value); var failure = CreateValidationError(context, value, component); context.Failures.Add(failure); } }
private protected void InvokePropertyValidator(ValidationContext <T> context, Lazy <TProperty> accessor, string propertyName, RuleComponent <T, TProperty> component) { bool valid = component.Validate(context, accessor.Value); if (!valid) { PrepareMessageFormatterForValidationError(context, accessor.Value); var failure = CreateValidationError(context, accessor.Value, component); #pragma warning disable 618 component.OnFailure?.Invoke(context.InstanceToValidate, context, accessor.Value, failure.ErrorMessage); #pragma warning restore 618 context.Failures.Add(failure); } }
private void InvokePropertyValidator(ValidationContext <T> context, TElement value, string propertyName, RuleComponent <T, TElement> component, int index) { context.MessageFormatter.AppendArgument("CollectionIndex", index); bool valid = component.Validate(context, value); if (!valid) { PrepareMessageFormatterForValidationError(context, value); var failure = CreateValidationError(context, value, component); #pragma warning disable 618 component.OnFailure?.Invoke(context.InstanceToValidate, context, value, failure.ErrorMessage); #pragma warning restore 618 context.Failures.Add(failure); } }
private protected void InvokePropertyValidator(ValidationContext <T> context, Lazy <TProperty> accessor, string propertyName, RuleComponent <T, TProperty> component) { if (!component.InvokeCondition(context)) { return; } if (component.HasAsyncCondition && !component.InvokeAsyncCondition(context, CancellationToken.None).GetAwaiter().GetResult()) { return; } bool valid = component.Validate(context, accessor.Value); if (!valid) { PrepareMessageFormatterForValidationError(context, accessor.Value); var failure = CreateValidationError(context, accessor.Value, component); component.OnFailure?.Invoke(context.InstanceToValidate, context, accessor.Value, failure.ErrorMessage); context.Failures.Add(failure); } }