diff --git a/app/Http/Controllers/AuthController.php b/app/Http/Controllers/AuthController.php
index dbc73c25f..a70b4c337 100644
--- a/app/Http/Controllers/AuthController.php
+++ b/app/Http/Controllers/AuthController.php
@@ -43,13 +43,15 @@ class AuthController extends Controller
private function rules(Request $request): array
{
$additional_validation = '';
+ $db_field = 'username';
if (filter_var($request->input('username'), FILTER_VALIDATE_EMAIL)) {
$additional_validation = '|email';
+ $db_field = 'email';
}
return [
- 'username' => 'required'.$additional_validation,
- 'password' => 'required',
+ 'username' => "required|string|exists:users,$db_field|$additional_validation",
+ 'password' => 'required|string',
'remember' => 'boolean',
];
}
diff --git a/resources/js/Views/LoginPage.jsx b/resources/js/Views/LoginPage.jsx
index 7877ba1d6..e605f283a 100644
--- a/resources/js/Views/LoginPage.jsx
+++ b/resources/js/Views/LoginPage.jsx
@@ -15,6 +15,7 @@ import Mdi from '../Components/Mdi.jsx';
import Page from '../Components/Page.jsx';
import {
getFormData,
+ isFormValid,
showSnackbar
} from '../utils';
@@ -27,10 +28,10 @@ export default class LoginPage extends Page {