Interface ValidationRuleBuilder.IRuleBuilder<TModel>
- Namespace
- EncDotNet.S100.Validation
- Assembly
- EncDotNet.S100.Core.dll
Fluent builder for a single validation rule.
public interface ValidationRuleBuilder.IRuleBuilder<TModel>
Type Parameters
TModel
Methods
Build()
Builds the configured IValidationRule<TModel>.
IValidationRule<TModel> Build()
Returns
- IValidationRule<TModel>
Check(Func<TModel, bool>, string?, Func<TModel, GeoPosition?>?)
Defines the rule as a single boolean predicate. The predicate
must return true when the model conforms; the rule will
emit a finding when it returns false.
ValidationRuleBuilder.IRuleBuilder<TModel> Check(Func<TModel, bool> predicate, string? failureMessage = null, Func<TModel, GeoPosition?>? locator = null)
Parameters
predicateFunc<TModel, bool>Returns
truewhen the model conforms.failureMessagestringMessage attached to the emitted finding when the predicate fails. Defaults to the rule's description.
locatorFunc<TModel, GeoPosition?>Optional function returning the point location to attach to the finding when the predicate fails. Useful for findings tied to a specific feature.
Returns
- ValidationRuleBuilder.IRuleBuilder<TModel>
WithDescription(string)
Sets the human-readable description of the rule.
ValidationRuleBuilder.IRuleBuilder<TModel> WithDescription(string description)
Parameters
descriptionstring
Returns
- ValidationRuleBuilder.IRuleBuilder<TModel>
WithSeverity(ValidationSeverity)
Sets the default severity used by findings the rule emits.
ValidationRuleBuilder.IRuleBuilder<TModel> WithSeverity(ValidationSeverity severity)
Parameters
severityValidationSeverity
Returns
- ValidationRuleBuilder.IRuleBuilder<TModel>
Yield(Func<TModel, ValidationContext, IEnumerable<ValidationFinding>>)
Defines the rule as a multi-finding producer. Use this form when a single rule may emit several findings (for example, one finding per offending waypoint).
ValidationRuleBuilder.IRuleBuilder<TModel> Yield(Func<TModel, ValidationContext, IEnumerable<ValidationFinding>> producer)
Parameters
producerFunc<TModel, ValidationContext, IEnumerable<ValidationFinding>>
Returns
- ValidationRuleBuilder.IRuleBuilder<TModel>