only validate edited field

This commit is contained in:
Jorian van der Kolk 2022-10-28 14:12:40 +02:00
parent d2975780fc
commit c516ce8f22
3 changed files with 5 additions and 11 deletions

View file

@ -11,8 +11,8 @@ class ItemBuilder {
final ItemBuilderOptions options;
Widget build(String key, GlobalKey<FormState> formKey, dynamic value,
Widget? widget, Function(String) updateItem) {
Widget build(
String key, dynamic value, Widget? widget, Function(String) updateItem) {
if (widget == null) {
var controller = TextEditingController(
text: '${value ?? ''}',
@ -22,14 +22,14 @@ class ItemBuilder {
inputDecoration =
options.inputDecorationField?[key] ?? options.inputDecoration;
var formFieldKey = GlobalKey<FormFieldState>();
return TextFormField(
key: Key(key),
key: formFieldKey,
controller: controller,
decoration: inputDecoration,
readOnly: options.readOnly,
onFieldSubmitted: (value) {
if (formKey.currentState!.validate()) {
if (formFieldKey.currentState!.validate()) {
updateItem(value);
}
},

View file

@ -38,7 +38,6 @@ class _ItemListState extends State<ItemList> {
? widgets.add(
builder.build(
item.key,
widget.formKey,
item.value,
widget.typeMap[item.key],
(value) {
@ -49,7 +48,6 @@ class _ItemListState extends State<ItemList> {
: widgets.add(
widget.itemBuilder!.build(
item.key,
widget.formKey,
item.value,
widget.typeMap[item.key],
(value) {

View file

@ -59,7 +59,6 @@ class _ProfileWrapperState extends State<ProfileWrapper> {
defaultItems.add(
builder.build(
'first_name',
formKey,
widget.user.firstName,
null,
(v) {
@ -77,7 +76,6 @@ class _ProfileWrapperState extends State<ProfileWrapper> {
defaultItems.add(
builder.build(
'last_name',
formKey,
widget.user.lastName,
null,
(v) {
@ -96,7 +94,6 @@ class _ProfileWrapperState extends State<ProfileWrapper> {
defaultItems.add(
widget.itemBuilder!.build(
'first_name',
formKey,
widget.user.firstName,
null,
(v) {
@ -114,7 +111,6 @@ class _ProfileWrapperState extends State<ProfileWrapper> {
defaultItems.add(
widget.itemBuilder!.build(
'last_name',
formKey,
widget.user.lastName,
null,
(v) {