This Snap provides the functionality to validate incoming data against a set of defined constraints.
An example of a pattern can be seen in the following image:
This will validate
The pattern constraint in the screenshot above validates all incoming documents and their attributes a.c.b against the regular expression ^abc, expecting that all attribute values of a.c.b start with abc. If they do, the document is routed to the output view;if it does not
the document is routed to the error view.
|Support and limitations:|
Works in Ultra Task Pipelines.
The Data Validator Snap fails when using null/empty values for the Required option in the Constraints field. A possible workaround is to enter an arbitrary value, which the Snap will does not use when executing the Pipelines.
This Snap does not use accounts.
|Required. The name for the Snap. You can modify it to be more specific, especially if you have more than one of the same Snap in your pipelinePipeline.|
Lets you define Define constraints for one or more fields. If multiple constraints are defined for the same field using the same constraint, only the first definition is considered.
Available options are:
Default value: N/A
|Validate full JSON path|
Select this property to enable the Snap to verify if all parents in the JSON path exist, and produce an error if all parents do not exist.
When there is only one Constraint Required=true for a Source path=$a.c.b, but an input document is as follows:
The Snap does not produce an error if this property is not selected, even if the JSON path $a.c.b has no values unless there is another Constraint Required=true for a Source path=$a.c.
If this property is selected, the Snap produces an error with a reason field. Example, Path not found: $.a.c, Source path: $.a.c.b, Constraint: Required=true.
Default value: Unselected
|Standardize error output|
If true, the Snap produces the error document in standard error format (error, reason, original, and stack trace). If false, the error document contains error and original.
Default value: False