passwordRequires method

String passwordRequires(
  1. BuildContext context,
  2. UnmetPasswordRequirements requirements
)

Returns the text displayed when a password input does match the password requirements defined in the amplify configuration.

Implementation

String passwordRequires(
  BuildContext context,
  UnmetPasswordRequirements requirements,
) {
  final minLength = requirements.minLength;
  final characterReqs = requirements.characterRequirements;
  if (minLength == null && (characterReqs.isEmpty)) {
    return '';
  }
  final sb = StringBuffer()
    ..writeln(
      AuthenticatorLocalizations.inputsOf(
        context,
      ).passwordRequirementsPreamble,
    );
  if (minLength != null) {
    final atLeast = AuthenticatorLocalizations.inputsOf(
      context,
    ).passwordRequirementsAtLeast(minLength, '');
    sb.writeln('* $atLeast');
  }
  for (final characterReq in characterReqs) {
    final characterType = AuthenticatorLocalizations.inputsOf(
      context,
    ).passwordRequirementsCharacterType(characterReq.name);
    final atLeast = AuthenticatorLocalizations.inputsOf(
      context,
    ).passwordRequirementsAtLeast(1, characterType);
    sb.writeln('* $atLeast');
  }
  return sb.toString();
}