This commit is contained in:
Stein Milder 2022-09-22 10:22:32 +02:00
parent ed18aafabf
commit 34a0a3e395
3 changed files with 3 additions and 32 deletions

View file

@ -27,18 +27,6 @@ class AuthScreen extends StatefulWidget {
class _AuthScreenState extends State<AuthScreen> {
int _index = 0;
final _formKey = GlobalKey<FormState>();
final HashMap<AuthField, TextEditingController> _textEditingControllers =
HashMap();
@override
void initState() {
for (var step in widget.steps) {
for (var field in step.fields) {
_textEditingControllers[field] = TextEditingController();
}
}
super.initState();
}
@override
Widget build(BuildContext context) {
@ -77,23 +65,7 @@ class _AuthScreenState extends State<AuthScreen> {
),
),
),
TextFormField(
controller: _textEditingControllers[field],
obscureText: field.obscureText,
onChanged: (value) {
field.value = value;
},
validator: (value) {
for (var validator in field.validators) {
var output = validator(value);
if (output != null) {
return output;
}
}
return null;
},
),
field.build(),
],
)
],

View file

@ -4,14 +4,12 @@ abstract class AuthField {
AuthField({
required this.name,
required this.title,
this.obscureText = false,
this.validators = const [],
this.value = '',
});
final String name;
final String title;
final bool obscureText;
List<String? Function(String?)> validators;
String value;

View file

@ -5,14 +5,15 @@ class AuthTextField extends AuthField {
AuthTextField({
required super.name,
required super.title,
super.obscureText = false,
super.validators = const [],
super.value = '',
this.obscureText = false,
}) {
_textEditingController = TextEditingController();
}
late TextEditingController _textEditingController;
final bool obscureText;
@override
Widget build() => TextFormField(