mirror of
https://github.com/Iconica-Development/flutter_registration.git
synced 2025-05-19 13:23:45 +02:00
refactor
This commit is contained in:
parent
ed18aafabf
commit
34a0a3e395
3 changed files with 3 additions and 32 deletions
|
@ -27,18 +27,6 @@ class AuthScreen extends StatefulWidget {
|
||||||
class _AuthScreenState extends State<AuthScreen> {
|
class _AuthScreenState extends State<AuthScreen> {
|
||||||
int _index = 0;
|
int _index = 0;
|
||||||
final _formKey = GlobalKey<FormState>();
|
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
|
@override
|
||||||
Widget build(BuildContext context) {
|
Widget build(BuildContext context) {
|
||||||
|
@ -77,23 +65,7 @@ class _AuthScreenState extends State<AuthScreen> {
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
TextFormField(
|
field.build(),
|
||||||
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;
|
|
||||||
},
|
|
||||||
),
|
|
||||||
],
|
],
|
||||||
)
|
)
|
||||||
],
|
],
|
||||||
|
|
|
@ -4,14 +4,12 @@ abstract class AuthField {
|
||||||
AuthField({
|
AuthField({
|
||||||
required this.name,
|
required this.name,
|
||||||
required this.title,
|
required this.title,
|
||||||
this.obscureText = false,
|
|
||||||
this.validators = const [],
|
this.validators = const [],
|
||||||
this.value = '',
|
this.value = '',
|
||||||
});
|
});
|
||||||
|
|
||||||
final String name;
|
final String name;
|
||||||
final String title;
|
final String title;
|
||||||
final bool obscureText;
|
|
||||||
List<String? Function(String?)> validators;
|
List<String? Function(String?)> validators;
|
||||||
String value;
|
String value;
|
||||||
|
|
||||||
|
|
|
@ -5,14 +5,15 @@ class AuthTextField extends AuthField {
|
||||||
AuthTextField({
|
AuthTextField({
|
||||||
required super.name,
|
required super.name,
|
||||||
required super.title,
|
required super.title,
|
||||||
super.obscureText = false,
|
|
||||||
super.validators = const [],
|
super.validators = const [],
|
||||||
super.value = '',
|
super.value = '',
|
||||||
|
this.obscureText = false,
|
||||||
}) {
|
}) {
|
||||||
_textEditingController = TextEditingController();
|
_textEditingController = TextEditingController();
|
||||||
}
|
}
|
||||||
|
|
||||||
late TextEditingController _textEditingController;
|
late TextEditingController _textEditingController;
|
||||||
|
final bool obscureText;
|
||||||
|
|
||||||
@override
|
@override
|
||||||
Widget build() => TextFormField(
|
Widget build() => TextFormField(
|
||||||
|
|
Loading…
Reference in a new issue