import 'package:doctor_app_flutter/config/size_config.dart'; import 'package:flutter/cupertino.dart'; import 'package:flutter/material.dart'; import 'package:flutter/services.dart'; // OWNER : Ibrahim albitar // DATE : 19-04-2020 // DESCRIPTION : Custom Text Form Field for app. class AppTextFormField extends FormField { AppTextFormField({ FormFieldSetter onSaved, String inputFormatter, FormFieldValidator validator, ValueChanged onChanged, GestureTapCallback onTap, TextEditingController controller, bool autovalidate = true, TextInputType textInputType, String hintText }) : super( onSaved: onSaved, validator: validator, autovalidate: autovalidate, builder: (FormFieldState state) { return Column( children: [ TextFormField( keyboardType: textInputType, inputFormatters: [WhitelistingTextInputFormatter(RegExp(inputFormatter)),], onChanged: onChanged?? (value){ state.didChange(value); }, decoration: InputDecoration( hintText: hintText, hintStyle: TextStyle(fontSize: SizeConfig.textMultiplier * 2), enabledBorder: OutlineInputBorder( borderRadius: BorderRadius.all(Radius.circular(30)), borderSide: BorderSide(color: Color(0xff707070)), ), focusedBorder: OutlineInputBorder( borderRadius: BorderRadius.all(Radius.circular(30)), ) //BorderRadius.all(Radius.circular(20)); ), onTap: onTap, controller: controller, ), state.hasError? Text( state.errorText, style: TextStyle( color: Colors.red ), ) : Container() ], ); } ); }