crossFieldValidator static method

String? crossFieldValidator({
  1. required dynamic value,
  2. required Map<String, dynamic> formData,
  3. required String fieldKey,
  4. required String compareFieldKey,
  5. required String operator,
  6. String? message,
})

Creates a cross-field validator that compares two fields.

Example usage:

validator: (val) => FormioValidators.crossFieldValidator(
  value: val,
  formData: _formData,
  fieldKey: 'endDate',
  compareFieldKey: 'startDate',
  operator: '>',
  message: 'End date must be after start date',
),

Implementation

static String? crossFieldValidator({
  required dynamic value,
  required Map<String, dynamic> formData,
  required String fieldKey,
  required String compareFieldKey,
  required String operator,
  String? message,
}) {
  final error = compareFields(
    value,
    formData[compareFieldKey],
    operator,
    fieldKey,
    compareFieldKey,
  );

  return error != null && message != null ? message : error;
}