Completed
Branch master (a6481d)
by Fèvre
02:09
created

UserValidator   A

Complexity

Total Complexity 2

Size/Duplication

Total Lines 26
Duplicated Lines 0 %

Coupling/Cohesion

Components 0
Dependencies 1

Importance

Changes 0
Metric Value
wmc 2
lcom 0
cbo 1
dl 0
loc 26
rs 10
c 0
b 0
f 0

1 Method

Rating   Name   Duplication   Size   Complexity  
A create() 0 16 2
1
<?php
2
namespace Xetaravel\Models\Validators;
3
4
use Illuminate\Support\Facades\App;
5
use Illuminate\Support\Facades\Validator as FacadeValidator;
6
use Illuminate\Validation\Validator;
7
8
class UserValidator
9
{
10
    /**
11
     * Get a validator for an incoming registration request.
12
     *
13
     * @param array $data The data to validate.
14
     *
15
     * @return \Illuminate\Validation\Validator
16
     */
17
    public static function create(array $data): Validator
18
    {
19
        $rules = [
20
            'username' => 'required|min:4|max:20|unique:users',
21
            'email' => 'required|email|max:50|unique:users',
22
            'password' => 'required|min:6|confirmed',
23
            'terms' => 'required|min:1'
24
        ];
25
26
        // Bipass the captcha for the unit testing.
27
        if (App::environment() != 'testing') {
28
            $rules = array_merge($rules, ['g-recaptcha-response' => 'required|recaptcha']);
29
        }
30
31
        return FacadeValidator::make($data, $rules);
32
    }
33
}
34