What are the functions of validations?

A.
to determine the field component type, define possible field values, and determine
the possible results of exiting a workflow step
B.
to verify the integrity of the workflow
C.
to determine the possible results of exiting a workflow step only
D.
to determine the field component type and define possible field values only