PasswordTextFormField constructor
PasswordTextFormField({
- Key? key,
- TextEditingController? 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,
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,
);
},
);