middleware('guest'); } /** * Get a validator for an incoming registration request. * * @param array $data * @return \Illuminate\Contracts\Validation\Validator */ protected function validator(array $data) { return Validator::make($data, [ 'nama_lengkap' => ['required', 'string', 'max:255', 'regex:/^[A-Za-z\s]+$/'], 'nim' => ['required', 'string', 'max:20'], 'semester' => ['required', 'integer', 'max:12'], 'angkatan' => ['required', 'integer', 'min:2021', 'max:2023'], 'email' => ['required', 'string', 'email', 'max:255', 'unique:users', function ($attribute, $value, $fail) { if (!in_array(substr(strrchr($value, "@"), 1), ['polije.ac.id', 'student.polije.ac.id'])) { $fail('Atribut ' . $attribute . ' harus berdomain @polije.ac.id atau @student.polije.ac.id'); } }], 'password' => ['required', 'string', 'min:8', 'confirmed'], ]); } /** * Create a new user instance after a valid registration. * * @param array $data * @return \App\Models\User */ protected function create(array $data) { return User::create([ 'nama_lengkap' => $data['nama_lengkap'], 'nim' => $data['nim'], 'semester' => $data['semester'], 'angkatan' => $data['angkatan'], 'email' => $data['email'], 'password' => Hash::make($data['password']), // 'foto' => 'images/2xUcdtkygOf0aM2EvXuKFLXLOBlEuXNPT21Oeo15.png', 'kelas_user' => '3', 'foto' => 'images/defaultProfile.jpg', ]); } }