diff --git a/frontend/lib/ui/screens/settings/settings_screen.dart b/frontend/lib/ui/screens/settings/settings_screen.dart index c5fb2c5..c1c2e27 100644 --- a/frontend/lib/ui/screens/settings/settings_screen.dart +++ b/frontend/lib/ui/screens/settings/settings_screen.dart @@ -201,11 +201,6 @@ class _SettingsScreenState extends ConsumerState { final newPass = _newPassCtrl.text; final confirm = _confirmPassCtrl.text; - if (newPass != confirm) { - showErrorDialog(context, 'Password Mismatch', 'New passwords do not match.'); - return; - } - final current = await showDialog( context: context, builder: (ctx) { @@ -640,7 +635,12 @@ class _SettingsScreenState extends ConsumerState { controller: _confirmPassCtrl, isPassword: true, obscureText: _obscurePasswords, - validator: (v) => AppValidators.validateRequired(v, 'Confirm Password'), + validator: (v) { + final req = AppValidators.validateRequired(v, 'Confirm Password'); + if (req != null) return req; + if (v != _newPassCtrl.text) return 'Passwords do not match'; + return null; + }, ), const SizedBox(height: AppSizes.p24), Align(