diff --git a/lib/pages/task_edit_page.dart b/lib/pages/task_edit_page.dart index 95419f7..5195970 100644 --- a/lib/pages/task_edit_page.dart +++ b/lib/pages/task_edit_page.dart @@ -191,32 +191,34 @@ class _TaskEditPageState extends State { } void onSavePressed() { - Navigator.of(context).pop( - CreateTaskRequest( - title: titleController.text, - description: descriptionController.text, - start: null, - due: DateTime.tryParse( - '${dueDateController.text} ${dueTimeController.text}'.trim(), + if (formKey.currentState!.validate()) { + Navigator.of(context).pop( + CreateTaskRequest( + title: titleController.text, + description: descriptionController.text, + start: null, + due: DateTime.tryParse( + '${dueDateController.text} ${dueTimeController.text}'.trim(), + ), + isCompleted: false, + category: categoryController.text, + subtasks: [], + url: urlController.text, + alarms: alarmRequests.map((e) { + if (e is CreateFixedTimeAlarmRequest) { + return e.toAlarm(generateId()); + } + if (e is CreateRelativeTimeAlarmRequest) { + return e.toAlarm(generateId()); + } + if (e is LocationAlarm) { + return e.toAlarm(generateId()); + } + throw TypeError(); + }).toList(), ), - isCompleted: false, - category: categoryController.text, - subtasks: [], - url: urlController.text, - alarms: alarmRequests.map((e) { - if (e is CreateFixedTimeAlarmRequest) { - return e.toAlarm(generateId()); - } - if (e is CreateRelativeTimeAlarmRequest) { - return e.toAlarm(generateId()); - } - if (e is LocationAlarm) { - return e.toAlarm(generateId()); - } - throw TypeError(); - }).toList(), - ), - ); + ); + } } void onPopInvoked(bool didPop, Object? result) {