- $this->validate($request, [
- 'name' => 'required',
- 'email' => 'required|email',
- 'password' => 'required|min:5',
- 'password-confirm' => 'required|same:password'
- ]);
+ $this->checkPermission('user-create');
+ $validationRules = [
+ 'name' => 'required',
+ 'email' => 'required|email|unique:users,email',
+ 'role' => 'required|exists:roles,id'
+ ];
+
+ $authMethod = config('auth.method');
+ if ($authMethod === 'standard') {
+ $validationRules['password'] = 'required|min:5';
+ $validationRules['password-confirm'] = 'required|same:password';
+ } elseif ($authMethod === 'ldap') {
+ $validationRules['external_auth_id'] = 'required';
+ }
+ $this->validate($request, $validationRules);
+