/** * Get the validation rules that apply to the request. * * @return array */ public function rules() { $id = $this->route('teacher'); $user_id = 'NULL'; $teacher = Teacher::find($id); $user = $teacher->user; if (isset($user)) { $user_id = $user->id; } return ['name' => 'required|max:45', 'sex' => 'required|in:male,female', 'cpf' => 'required|cpf|unique:teachers,cpf,' . $id, 'rg' => 'max:10', 'postcode' => 'required|max:8|regex:/[0-9]/', 'street' => 'required|max:60', 'number' => 'required|max:10', 'district' => 'required|max:60', 'city' => 'required|max:60', 'state' => 'required|max:2', 'phone' => 'required|phone_br', 'cellphone' => 'required|cellphone_br', 'salary' => 'required|positive', 'type_salary' => 'required|in:commission,class_time', 'user' => 'required|array', 'user.username' => 'required|max:30|unique:users,username,' . $user_id . ',id,owner_type,Domain\\Teacher\\Teacher', 'user.email' => 'required|max:255|email|unique:users,email,' . $user_id . ',id,owner_type,Domain\\Teacher\\Teacher', 'status' => 'required|boolean']; }