Class ValidationContext
Contains information about all the validation rules applicable to a particular context (usually a page containing fields and commands), as well as which rules have been triggered already (depending on the triggers defined in their ValidationScope(s))
public class ValidationContext
- Inheritance
-
ValidationContext
- Inherited Members
Constructors
ValidationContext(IServices, IEntity?)
public ValidationContext(IServices services, IEntity? entity = null)
Parameters
Properties
Entity
public IEntity? Entity { get; }
Property Value
Rules
public IDictionary<IValidatable, IList<IValidationRule>> Rules { get; }
Property Value
Services
public IServices Services { get; }
Property Value
TriggeredRules
public IDictionary<IValidationRule, ISet<ValidationScope.TriggerEnum>> TriggeredRules { get; }
Property Value
Methods
AddRule(IValidatable, IValidationRule)
public void AddRule(IValidatable field, IValidationRule rule)
Parameters
fieldIValidatableruleIValidationRule
AddRules(IValidatable, IEnumerable<IValidationRule>)
public void AddRules(IValidatable field, IEnumerable<IValidationRule> rules)
Parameters
fieldIValidatablerulesIEnumerable<IValidationRule>
ClearAllTriggers()
Clears the triggered state on all rules
public bool ClearAllTriggers()
Returns
- bool
True: at least one triggered state was cleared, False: no rules had triggered state to clear
CommandHasTriggered(string)
public bool CommandHasTriggered(string commandKey)
Parameters
commandKeystring
Returns
FieldChanged(IValidatable, bool)
public bool FieldChanged(IValidatable field, bool hasChanges)
Parameters
fieldIValidatablehasChangesbool
Returns
GetCurrentValidationResult()
public ValidationResultType GetCurrentValidationResult()
Returns
GetFieldsForRule(IValidationRule)
public IEnumerable<IValidatable> GetFieldsForRule(IValidationRule rule)
Parameters
ruleIValidationRule
Returns
HasAsyncTriggeredRulesFor(IValidatable)
public bool HasAsyncTriggeredRulesFor(IValidatable field)
Parameters
fieldIValidatable
Returns
HasTrigger(IValidatable, TriggerEnum)
public bool HasTrigger(IValidatable field, ValidationScope.TriggerEnum trigger)
Parameters
fieldIValidatabletriggerValidationScope.TriggerEnum
Returns
HasTriggeredRulesFor(IValidatable)
public bool HasTriggeredRulesFor(IValidatable field)
Parameters
fieldIValidatable
Returns
IsTriggered(IValidationRule)
public bool IsTriggered(IValidationRule rule)
Parameters
ruleIValidationRule
Returns
NotifyValidationChanged(IValidatable)
public void NotifyValidationChanged(IValidatable field)
Parameters
fieldIValidatable
RemoveRule(IValidatable, IValidationRule)
public void RemoveRule(IValidatable field, IValidationRule rule)
Parameters
fieldIValidatableruleIValidationRule
RemoveRules(IValidatable, IEnumerable<IValidationRule>)
public void RemoveRules(IValidatable field, IEnumerable<IValidationRule> rules)
Parameters
fieldIValidatablerulesIEnumerable<IValidationRule>
RulesFor(IValidatable)
public IValidationRule[] RulesFor(IValidatable field)
Parameters
fieldIValidatable
Returns
RulesForCommand(string)
public IEnumerable<(IValidatable Field, IValidationRule Rule)> RulesForCommand(string commandKey)
Parameters
commandKeystring
Returns
SetAllCommandsTriggered(bool)
public bool SetAllCommandsTriggered(bool triggered)
Parameters
triggeredbool
Returns
SetCommandTriggered(string, bool)
public bool SetCommandTriggered(string commandKey, bool triggered)
Parameters
Returns
SetFieldLostFocusTriggered(IValidatable, bool)
public bool SetFieldLostFocusTriggered(IValidatable field, bool triggered)
Parameters
fieldIValidatabletriggeredbool
Returns
ToString()
Returns a string that represents the current object.
public override string ToString()
Returns
- string
A string that represents the current object.
TriggeredRulesFor(IValidatable)
public IEnumerable<IValidationRule> TriggeredRulesFor(IValidatable field)
Parameters
fieldIValidatable
Returns
ValidateField(IValidatable)
public ValidationResults ValidateField(IValidatable field)
Parameters
fieldIValidatable
Returns
ValidateFieldAsync(IValidatable)
public Task<ValidationResults> ValidateFieldAsync(IValidatable field)
Parameters
fieldIValidatable
Returns
ValidateForCommand(string)
public Task<ValidationResults> ValidateForCommand(string commandKey)
Parameters
commandKeystring
Returns
Events
ValidationChanged
public event Action? ValidationChanged
Event Type
ValidationResultChanged
public event Action? ValidationResultChanged