GTextField.email constructor

GTextField.email({
  1. Key? key,
  2. String? name,
  3. TextEditingController? controller,
  4. String? initialValue,
  5. String label = 'Email',
  6. String hint = 'Enter your email',
  7. TextInputAction textInputAction = TextInputAction.next,
  8. List<TextInputFormatter>? inputFormatters,
  9. EmailValidationConfig validationConfig = const EmailValidationConfig(),
  10. ValidationMessageResolver<EmailValidationIssue> validationMessageResolver = resolveEmailValidationIssue,
  11. GFormValidator? validator,
  12. GTextFieldConfig configure(
    1. GTextFieldConfig config
    )?,
  13. void onChanged(
    1. String
    )?,
  14. void onFieldSubmitted(
    1. String
    )?,
  15. void onSaved(
    1. String?
    )?,
  16. IconData? prefixIcon,
  17. FocusNode? focusNode,
  18. AutovalidateMode? autovalidateMode,
  19. bool? enabled,
  20. bool readOnly = false,
  21. int? maxLength,
  22. TextAlign textAlign = TextAlign.start,
  23. TextStyle? style,
  24. Iterable<String>? autofillHints = const [AutofillHints.email],
  25. InputDecoration? decoration,
})

Implementation

factory GTextField.email({
  Key? key,
  String? name,
  TextEditingController? controller,
  String? initialValue,
  String label = 'Email',
  String hint = 'Enter your email',
  TextInputAction textInputAction = TextInputAction.next,
  List<TextInputFormatter>? inputFormatters,
  EmailValidationConfig validationConfig = const EmailValidationConfig(),
  ValidationMessageResolver<EmailValidationIssue> validationMessageResolver =
      resolveEmailValidationIssue,
  GFormValidator? validator,
  GTextFieldConfig Function(GTextFieldConfig config)? configure,
  void Function(String)? onChanged,
  void Function(String)? onFieldSubmitted,
  void Function(String?)? onSaved,
  IconData? prefixIcon,
  FocusNode? focusNode,
  AutovalidateMode? autovalidateMode,
  bool? enabled,
  bool readOnly = false,
  int? maxLength,
  TextAlign textAlign = TextAlign.start,
  TextStyle? style,
  Iterable<String>? autofillHints = const [AutofillHints.email],
  InputDecoration? decoration,
}) {
  final config = GTextFieldConfig(
    controller: controller,
    name: name,
    initialValue: initialValue,
    label: label,
    hint: hint,
    keyboardType: TextInputType.emailAddress,
    textInputAction: textInputAction,
    inputFormatters: inputFormatters,
    validator: asFormValidator(
      validate: EmailValidator(validationConfig).validate,
      resolve: validationMessageResolver,
      validatorOverride: validator,
    ),
    onChanged: onChanged,
    onFieldSubmitted: onFieldSubmitted,
    onSaved: onSaved,
    prefixIcon: prefixIcon ?? Icons.email,
    focusNode: focusNode,
    autovalidateMode: autovalidateMode,
    enabled: enabled,
    readOnly: readOnly,
    maxLength: maxLength,
    textAlign: textAlign,
    style: style,
    autofillHints: autofillHints,
    decoration: decoration,
  );

  return GTextField(key: key, config: configure?.call(config) ?? config);
}