diff --git a/lib/ui/app/entity_dropdown.dart b/lib/ui/app/entity_dropdown.dart index ade804b11..e27dd7f84 100644 --- a/lib/ui/app/entity_dropdown.dart +++ b/lib/ui/app/entity_dropdown.dart @@ -51,7 +51,7 @@ class EntityDropdown extends StatefulWidget { final bool? autofocus; final BuiltMap? entityMap; final Function(SelectableEntity?) onSelected; - final Function? validator; + final String? Function(String?)? validator; final bool autoValidate; final bool allowClearing; final Function(String?)? onFieldSubmitted; @@ -331,7 +331,7 @@ class _EntityDropdownState extends State { FocusNode focusNode, VoidCallback onFieldSubmitted) { return DecoratedFormField( - validator: widget.validator as dynamic Function(String)?, + validator: widget.validator, showClear: showClear, label: widget.labelText, autofocus: @@ -424,7 +424,7 @@ class _EntityDropdownState extends State { child: TextFormField( focusNode: _focusNode, readOnly: true, - validator: widget.validator as String? Function(String?)?, + validator: widget.validator, autovalidateMode: widget.autoValidate ? AutovalidateMode.always : AutovalidateMode.onUserInteraction, diff --git a/lib/ui/app/forms/client_picker.dart b/lib/ui/app/forms/client_picker.dart index 17ddb46ef..78de6ff07 100644 --- a/lib/ui/app/forms/client_picker.dart +++ b/lib/ui/app/forms/client_picker.dart @@ -49,7 +49,7 @@ class ClientPicker extends StatelessWidget { entityList: memoizedDropdownClientList(clientState.map, clientState.list, state.userState.map, state.staticState), entityMap: clientState.map, - validator: (String val) => isRequired && val.trim().isEmpty + validator: (String? val) => isRequired && (val ?? '').trim().isEmpty ? AppLocalization.of(context)!.pleaseSelectAClient : null, onSelected: onSelected, diff --git a/lib/ui/app/forms/vendor_picker.dart b/lib/ui/app/forms/vendor_picker.dart index e31d2436c..31696e2d1 100644 --- a/lib/ui/app/forms/vendor_picker.dart +++ b/lib/ui/app/forms/vendor_picker.dart @@ -46,7 +46,7 @@ class VendorPicker extends StatelessWidget { entityList: memoizedDropdownVendorList(vendorState.map, vendorState.list, state.userState.map, state.staticState), entityMap: vendorState.map, - validator: (String val) => val.trim().isEmpty + validator: (String? val) => (val ?? '').trim().isEmpty ? AppLocalization.of(context)!.pleaseSelectAVendor : null, onSelected: onSelected, diff --git a/lib/ui/payment/edit/payment_edit.dart b/lib/ui/payment/edit/payment_edit.dart index 901774dcb..a439ef036 100644 --- a/lib/ui/payment/edit/payment_edit.dart +++ b/lib/ui/payment/edit/payment_edit.dart @@ -211,7 +211,7 @@ class _PaymentEditState extends State { entityType: EntityType.client, labelText: AppLocalization.of(context)!.client, entityId: payment.clientId, - validator: (String val) => val.trim().isEmpty + validator: (String? val) => (val ?? '').trim().isEmpty ? AppLocalization.of(context)!.pleaseSelectAClient : null, onSelected: (client) { diff --git a/lib/ui/project/edit/project_edit.dart b/lib/ui/project/edit/project_edit.dart index e21af9e78..9ebabc367 100644 --- a/lib/ui/project/edit/project_edit.dart +++ b/lib/ui/project/edit/project_edit.dart @@ -168,7 +168,7 @@ class _ProjectEditState extends State { state.clientState.list, state.userState.map, state.staticState), - validator: (String val) => val.trim().isEmpty + validator: (String? val) => (val ?? '').trim().isEmpty ? localization.pleaseSelectAClient : null, onSelected: (client) {