ValidationContext
Description
A ValidationContext
is an interface that exposes the necessary data for validating a dataCell
’s content. It extends ValidationValue
.
Properties
Property |
Type |
Description |
---|---|---|
columnDefinition |
The column definition of the |
|
format |
The format used in the |
|
options? |
An object representing the options of this validation context. |
Methods
Method |
Parameter |
Type |
Description |
---|---|---|---|
getFieldValue |
|
|
This method can be used while validating a specific field, to retrieve the value of another field (edited or not), for specific validation needs. |
|
field |
string |
The requested field. |
|
[output] |
A |
Example
In the following example, the validation
function receives the ValidationContext
. This ValidationContext
is used to validate the “birth” column. The ValidationContext.newValue
represents the edited value of the “birth” column (the oldValue represents the last valid value, before edit). The ValidationContext.getFieldValue(“death”).newValue
will return the value of the “death” column for this dataItem
, whether it is edited or not. The return value must be a valid or invalid ValidationResult
.
function yearRule(validationContext)
{
if (validationContext.columnDefinition.field === "birth")
{
const newBirth = validationContext.newValue;
const death = validationContext.getFieldValue("death").newValue;
if (death - newBirth > 100)
{
return { isValid: false, errorMessage: `Can't live more than 100 years.` };
}
else if (death < newBirth)
{
return { isValid: false, errorMessage: `Can't be dead before being borned.` };
}
}
return { isValid: true };
}
The yearRule
function should be set as a ValidationRuleDefinition
.validate
function. This ValidationRuleDefinition
should be set in the DataGridOptions
.validationRuleDefinitions
as a value. The key of this value should be used as the identifier on each of the columns needing this validationRule
on the ColumnDefinition
.validationRules
property.