1 | <?php
|
---|
2 |
|
---|
3 | namespace App\Http\Requests\Dashboard;
|
---|
4 |
|
---|
5 | use Illuminate\Foundation\Http\FormRequest;
|
---|
6 | use Propaganistas\LaravelPhone\PhoneNumber;
|
---|
7 |
|
---|
8 | class NewUserRequest extends FormRequest
|
---|
9 | {
|
---|
10 | /**
|
---|
11 | * Determine if the user is authorized to make this request.
|
---|
12 | *
|
---|
13 | * @return bool
|
---|
14 | */
|
---|
15 | public function authorize()
|
---|
16 | {
|
---|
17 | return true;
|
---|
18 | }
|
---|
19 |
|
---|
20 | /**
|
---|
21 | * Get the validation rules that apply to the request.
|
---|
22 | *
|
---|
23 | * @return array
|
---|
24 | */
|
---|
25 | public function rules()
|
---|
26 | {
|
---|
27 | $rules = [
|
---|
28 | "name" => "required|alpha|min:2|max:255",
|
---|
29 | "surname" => "required|alpha|min:2|max:255",
|
---|
30 | "mobile_number_country" => "required_with:mobile_number|string|size:2",
|
---|
31 | "mobile_number" => "phone:mobile_number_country|unique:users,mobile_number",
|
---|
32 | "email" => "required|string|email|max:255|unique:users",
|
---|
33 | "username" => "required|alpha_dash|min:8|unique:users,username",
|
---|
34 | ];
|
---|
35 |
|
---|
36 | if (!$this->has("company_id")) {
|
---|
37 | $rules["userRole"] = "required|exists:roles,id";
|
---|
38 | }
|
---|
39 |
|
---|
40 | return $rules;
|
---|
41 | }
|
---|
42 |
|
---|
43 | protected function getValidatorInstance()
|
---|
44 | {
|
---|
45 | try {
|
---|
46 | if($this->request->has("mobile_number") && $this->request->has("mobile_number_country")) {
|
---|
47 | $this->request->set("mobile_number", PhoneNumber::make(
|
---|
48 | $this->request->get("mobile_number"),
|
---|
49 | $this->request->get("mobile_number_country")
|
---|
50 | )->formatInternational());
|
---|
51 | }
|
---|
52 | } catch (\Exception $e) {}
|
---|
53 |
|
---|
54 | return parent::getValidatorInstance();
|
---|
55 | }
|
---|
56 | }
|
---|