A unique identifier for the specific implementation, like "RequireText" or "Range". Its value appears in the IssueFound.errorCode property unless overridden in ValidatorConfig.errorCode. It allows the consumer of both to correlate those instances with the specific condition. When defining conditions through a ConditionConfig, the conditionType property must be assigned with a valid ConditionType.
Helps identify the purpose of the Condition. Impacts:
Evaluate something against the rules defined in the implementation. Return whether the data was consistent or violates the rules, or the data couldn't be used to run the rule.
Most values are found amongst the ValueHosts in the ValueHostsManager. Conditions can look them up using ValueHostsManager.getValueHost().getValue() or getInputValue(). This parameter is used as an optimization, both to avoid that lookup and to avoid the user typing in a ValueHostName when creating the Condition instance. Validator.validate() knows to pass the ValueHostName that hosts the Validator. Expect this to be null in other cases, such as when Condition is a child of the AllMatchCondition and its peers. In otherwords, support both ways.
Its primary use is to lookup ValueHosts to get their data.
Any of these values:
Evaluates the text from an Input that is actively being edited to determine if it violates the rules of this condition. However, this implementation is often very different from the implementation built around the native value. It works with a string value from the Input, and you aren't expected to retrieve any other value from a ValueHost host.
Current Input Value from InputValueHost. It has not been modified, so if you need to work with trimmed (lead and trail whitespace removed) text, you must take care of that yourself.
the ValueHost that invoked this.
just in case, your logic needs more info. However, if the data you need is constant, add a property to your condition's ConditionConfig to supply it.
Generated using TypeDoc v0.25.12
Implement this interface when your condition should evaluate the text of your Input as its being edited. Your evaluateDuringEdit() function is called by the Validator.validate() function instead of the ICondition.evaluate() when validateOption.DuringEdit is true. This is a specialized validator, and not part of model validation. Instead, it takes a string that is provided by the UI Input (via InputValueHost.setInputValue()) and determines if the content is valid. Most validation is based on the already converted native value, like comparing two values. This validation should be limitd to rules that are limited to a string that is likely not in good enough shape to be converted to native. Examples: