App\Modules\Users\Controllers\Registrar::validate PHP Method

validate() protected method

protected validate ( array $data )
$data array
    protected function validate(array $data)
    {
        // Validation rules.
        $rules = array('realname' => 'required|min:6|valid_name', 'username' => 'required|min:6|unique:users', 'email' => 'required|email|unique:users', 'password' => 'required|confirmed|strong_password');
        $messages = array('valid_name' => __d('users', 'The :attribute field is not a valid name.'), 'strong_password' => __d('users', 'The :attribute field is not strong enough.'));
        $attributes = array('username' => __d('users', 'Username'), 'realname' => __d('users', 'Name and Surname'), 'email' => __d('users', 'E-mail'), 'password' => __d('users', 'Password'));
        // Add the custom Validation Rule commands.
        Validator::extend('valid_name', function ($attribute, $value, $parameters) {
            $pattern = '~^(?:[\\p{L}\\p{Mn}\\p{Pd}\'\\x{2019}]+(?:$|\\s+)){2,}$~u';
            return preg_match($pattern, $value) === 1;
        });
        Validator::extend('strong_password', function ($attribute, $value, $parameters) {
            $pattern = "/(?=^.{8,}\$)((?=.*\\d)|(?=.*\\W+))(?![.\n])(?=.*[A-Z])(?=.*[a-z]).*\$/";
            return preg_match($pattern, $value) === 1;
        });
        return Validator::make($data, $rules, $messages, $attributes);
    }