diff --git a/app/Http/Requests/User.php b/app/Http/Requests/User.php index 632e2e3..57a7672 100644 --- a/app/Http/Requests/User.php +++ b/app/Http/Requests/User.php @@ -22,18 +22,20 @@ { $rules = [ 'name' => 'required|string|max:255', - 'nik' => 'nullable|string|max:6|unique:users,nik', 'branch_id' => 'nullable|exists:branches,id', 'profile_photo_path' => 'nullable|image|mimes:jpeg,png,jpg|max:2048', ]; - if ($this->password || $this->method() === 'POST') { - $rules['email'] = 'required|email|unique:users,email'; + if ($this->password) { $rules['password'] = 'required|string|min:8|confirmed'; } if ($this->method() === 'PUT') { $rules['email'] = 'required|email|unique:users,email,' . $this->id; + $rules['nik'] = 'nullable|string|max:6|unique:users,nik,' . $this->id; + } else { + $rules['email'] = 'required|email|unique:users,email'; + $rules['nik'] = 'nullable|string|max:6|unique:users,nik'; } return $rules; @@ -41,9 +43,11 @@ public function passedValidation() { - $this->merge([ - 'password' => Hash::make($this->password), - ]); + if ($this->password!=='') { + $this->merge([ + 'password' => Hash::make($this->password), + ]); + } } } diff --git a/database/migrations/0001_01_01_000000_create_users_table.php b/database/migrations/0001_01_01_000000_create_users_table.php index a9c56ee..9862eec 100644 --- a/database/migrations/0001_01_01_000000_create_users_table.php +++ b/database/migrations/0001_01_01_000000_create_users_table.php @@ -16,7 +16,7 @@ return new class extends Migration $table->string('name'); $table->string('email')->unique(); $table->timestamp('email_verified_at')->nullable(); - $table->string('password'); + $table->string('password')->nullable(); $table->rememberToken(); $table->timestamps(); $table->softDeletes(); diff --git a/resources/views/users/create.blade.php b/resources/views/users/create.blade.php index 8fb93bc..1da7273 100644 --- a/resources/views/users/create.blade.php +++ b/resources/views/users/create.blade.php @@ -159,7 +159,7 @@
- name,Auth()->user()->roles->pluck('name')->toArray()) ? 'checked' : '' }} name="roles" type="radio" value="{{ $role->id }}"> + name,Auth()->user()->roles->pluck('name')->toArray()) ? 'checked' : '' }} name="roles" type="radio" value="{{ $role->name }}">
@endforeach