validatePinForEnrollment abstract method Null safety

void validatePinForEnrollment(
  1. {required String pin,
  2. required Function onSuccess,
  3. required dynamic onError(
    1. PinEnrollmentCustomValidationError
    )}
)

Performs validation other than the minimum and maximum PIN length during PIN enrollment.

This must be implemented in the case you require additional criteria for a PIN to be valid: the PIN must contain a minimum number of distinct digits, sequences of consecutive digits are disallowed, etc.

If this method is not implemented, only the PIN minimum and maximum length will be validated during PIN enrollment.

If validation fails, the implementation must invoke the provided onError with the error. The error will be the one returned by the PinEnrollmentContext.lastRecoverableError property.

The implementation must guarantee that, one (and only one) of onSuccess and onError is invoked, and that the one invoked is invoked only once.

This method will be invoked in the main/UI thread.

Synchronous implementation example that requires PIN to have at least 4 different digits:

  @override
  void validatePinForEnrollment({
    required String pin,
    required Function onSuccess,
    required Function(PinEnrollmentCustomValidationError p1) onError
  }) {
    if (hasLessThan4DifferentDigits(pin)) {
      final error = PinEnrollmentCustomValidationError.create(
        "The PIN has less than 4 consecutive digits.",
      );
      onError(error)
    } else {
      onSuccess();
    }
  }

Params:

  • pin: the PIN to be validated.
  • onSuccess: the Function to invoke if the validation is successful.
  • onError: the Function to invoke with error if the validation fails.

Implementation

void validatePinForEnrollment({
  required String pin,
  required Function onSuccess,
  required Function(PinEnrollmentCustomValidationError) onError,
});