Subversion-Projekte lars-tiefland.laravel_shop

Revision

Details | Letzte Änderung | Log anzeigen | RSS feed

Revision Autor Zeilennr. Zeile
148 lars 1
<?php
2
 
3
namespace Illuminate\Foundation\Validation;
4
 
5
use Illuminate\Contracts\Validation\Factory;
6
use Illuminate\Foundation\Precognition;
7
use Illuminate\Http\Request;
8
use Illuminate\Validation\ValidationException;
9
 
10
trait ValidatesRequests
11
{
12
    /**
13
     * Run the validation routine against the given validator.
14
     *
15
     * @param  \Illuminate\Contracts\Validation\Validator|array  $validator
16
     * @param  \Illuminate\Http\Request|null  $request
17
     * @return array
18
     *
19
     * @throws \Illuminate\Validation\ValidationException
20
     */
21
    public function validateWith($validator, Request $request = null)
22
    {
23
        $request = $request ?: request();
24
 
25
        if (is_array($validator)) {
26
            $validator = $this->getValidationFactory()->make($request->all(), $validator);
27
        }
28
 
29
        if ($request->isPrecognitive()) {
30
            $validator->after(Precognition::afterValidationHook($request))
31
                ->setRules(
32
                    $request->filterPrecognitiveRules($validator->getRulesWithoutPlaceholders())
33
                );
34
        }
35
 
36
        return $validator->validate();
37
    }
38
 
39
    /**
40
     * Validate the given request with the given rules.
41
     *
42
     * @param  \Illuminate\Http\Request  $request
43
     * @param  array  $rules
44
     * @param  array  $messages
45
     * @param  array  $customAttributes
46
     * @return array
47
     *
48
     * @throws \Illuminate\Validation\ValidationException
49
     */
50
    public function validate(Request $request, array $rules,
51
                             array $messages = [], array $customAttributes = [])
52
    {
53
        $validator = $this->getValidationFactory()->make(
54
            $request->all(), $rules, $messages, $customAttributes
55
        );
56
 
57
        if ($request->isPrecognitive()) {
58
            $validator->after(Precognition::afterValidationHook($request))
59
                ->setRules(
60
                    $request->filterPrecognitiveRules($validator->getRulesWithoutPlaceholders())
61
                );
62
        }
63
 
64
        return $validator->validate();
65
    }
66
 
67
    /**
68
     * Validate the given request with the given rules.
69
     *
70
     * @param  string  $errorBag
71
     * @param  \Illuminate\Http\Request  $request
72
     * @param  array  $rules
73
     * @param  array  $messages
74
     * @param  array  $customAttributes
75
     * @return array
76
     *
77
     * @throws \Illuminate\Validation\ValidationException
78
     */
79
    public function validateWithBag($errorBag, Request $request, array $rules,
80
                                    array $messages = [], array $customAttributes = [])
81
    {
82
        try {
83
            return $this->validate($request, $rules, $messages, $customAttributes);
84
        } catch (ValidationException $e) {
85
            $e->errorBag = $errorBag;
86
 
87
            throw $e;
88
        }
89
    }
90
 
91
    /**
92
     * Get a validation factory instance.
93
     *
94
     * @return \Illuminate\Contracts\Validation\Factory
95
     */
96
    protected function getValidationFactory()
97
    {
98
        return app(Factory::class);
99
    }
100
}