PasswordTextFormField constructor

PasswordTextFormField({
  1. Key? key,
  2. TextEditingController? controller,
  3. FocusNode? focusNode,
  4. InputDecoration decoration = const InputDecoration(),
  5. List<TextInputFormatter>? inputFormatters,
  6. ValueChanged<String>? onChanged,
  7. VoidCallback? onEditingComplete,
  8. ValueChanged<String>? onFieldSubmitted,
  9. FormFieldSetter<String>? onSaved,
  10. FormFieldValidator<String>? validator,
  11. bool? enabled,
  12. GestureTapCallback? onTap,
  13. String initialValue = '',
  14. bool autovalidate = false,
  15. bool autofocus = false,
  16. TextInputAction textInputAction = TextInputAction.done,
  17. AutovalidateMode autovalidateMode = AutovalidateMode.disabled,
  18. int maxLength = TextField.noMaxLength,
  19. IconData visibleIcon = Icons.visibility,
  20. IconData inVisibleIcon = Icons.visibility_off,
})

Creates a FormField that contains a PasswordTextField.

Implementation

PasswordTextFormField({
  Key? key,
  this.controller,
  FocusNode? focusNode,
  InputDecoration decoration = const InputDecoration(),
  List<TextInputFormatter>? inputFormatters,
  ValueChanged<String>? onChanged,
  VoidCallback? onEditingComplete,
  ValueChanged<String>? onFieldSubmitted,
  FormFieldSetter<String>? onSaved,
  FormFieldValidator<String>? validator,
  bool? enabled,
  GestureTapCallback? onTap,
  String initialValue = '',
  bool autovalidate = false,
  bool autofocus = false,
  TextInputAction textInputAction = TextInputAction.done,
  AutovalidateMode autovalidateMode = AutovalidateMode.disabled,
  int maxLength = TextField.noMaxLength,
  IconData visibleIcon = Icons.visibility,
  IconData inVisibleIcon = Icons.visibility_off,
}) : super(
        key: key,
        initialValue: controller != null ? controller.text : initialValue,
        onSaved: onSaved,
        validator: validator,
        enabled: enabled ?? decoration.enabled,
        autovalidateMode:
            autovalidate ? AutovalidateMode.always : autovalidateMode,
        builder: (field) {
          final state = field as _PasswordTextFormFieldState;
          final effectiveDecoration = decoration
              .applyDefaults(Theme.of(field.context).inputDecorationTheme);
          void onChangedHandler(String value) {
            if (onChanged != null) {
              onChanged(value);
            }
            field.didChange(value);
          }

          return PasswordTextField(
            controller: state._effectiveController,
            focusNode: focusNode,
            decoration: effectiveDecoration.copyWith(
              errorText: field.errorText,
            ),
            textInputAction: textInputAction,
            inputFormatters: inputFormatters,
            onChanged: onChangedHandler,
            onEditingComplete: onEditingComplete,
            onSubmitted: onFieldSubmitted,
            onTap: onTap,
            autofocus: autofocus,
            maxLength: maxLength,
            visibleIcon: visibleIcon,
            inVisibleIcon: inVisibleIcon,
          );
        },
      );