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\Validation;
4
 
5
use Illuminate\Contracts\Support\Arrayable;
6
use Illuminate\Support\Traits\Macroable;
7
use Illuminate\Validation\Rules\Dimensions;
8
use Illuminate\Validation\Rules\Enum;
9
use Illuminate\Validation\Rules\ExcludeIf;
10
use Illuminate\Validation\Rules\Exists;
11
use Illuminate\Validation\Rules\File;
12
use Illuminate\Validation\Rules\ImageFile;
13
use Illuminate\Validation\Rules\In;
14
use Illuminate\Validation\Rules\NotIn;
15
use Illuminate\Validation\Rules\ProhibitedIf;
16
use Illuminate\Validation\Rules\RequiredIf;
17
use Illuminate\Validation\Rules\Unique;
18
 
19
class Rule
20
{
21
    use Macroable;
22
 
23
    /**
24
     * Create a new conditional rule set.
25
     *
26
     * @param  callable|bool  $condition
27
     * @param  array|string|\Closure  $rules
28
     * @param  array|string|\Closure  $defaultRules
29
     * @return \Illuminate\Validation\ConditionalRules
30
     */
31
    public static function when($condition, $rules, $defaultRules = [])
32
    {
33
        return new ConditionalRules($condition, $rules, $defaultRules);
34
    }
35
 
36
    /**
37
     * Create a new nested rule set.
38
     *
39
     * @param  callable  $callback
40
     * @return \Illuminate\Validation\NestedRules
41
     */
42
    public static function forEach($callback)
43
    {
44
        return new NestedRules($callback);
45
    }
46
 
47
    /**
48
     * Get a unique constraint builder instance.
49
     *
50
     * @param  string  $table
51
     * @param  string  $column
52
     * @return \Illuminate\Validation\Rules\Unique
53
     */
54
    public static function unique($table, $column = 'NULL')
55
    {
56
        return new Unique($table, $column);
57
    }
58
 
59
    /**
60
     * Get an exists constraint builder instance.
61
     *
62
     * @param  string  $table
63
     * @param  string  $column
64
     * @return \Illuminate\Validation\Rules\Exists
65
     */
66
    public static function exists($table, $column = 'NULL')
67
    {
68
        return new Exists($table, $column);
69
    }
70
 
71
    /**
72
     * Get an in constraint builder instance.
73
     *
74
     * @param  \Illuminate\Contracts\Support\Arrayable|array|string  $values
75
     * @return \Illuminate\Validation\Rules\In
76
     */
77
    public static function in($values)
78
    {
79
        if ($values instanceof Arrayable) {
80
            $values = $values->toArray();
81
        }
82
 
83
        return new In(is_array($values) ? $values : func_get_args());
84
    }
85
 
86
    /**
87
     * Get a not_in constraint builder instance.
88
     *
89
     * @param  \Illuminate\Contracts\Support\Arrayable|array|string  $values
90
     * @return \Illuminate\Validation\Rules\NotIn
91
     */
92
    public static function notIn($values)
93
    {
94
        if ($values instanceof Arrayable) {
95
            $values = $values->toArray();
96
        }
97
 
98
        return new NotIn(is_array($values) ? $values : func_get_args());
99
    }
100
 
101
    /**
102
     * Get a required_if constraint builder instance.
103
     *
104
     * @param  callable|bool  $callback
105
     * @return \Illuminate\Validation\Rules\RequiredIf
106
     */
107
    public static function requiredIf($callback)
108
    {
109
        return new RequiredIf($callback);
110
    }
111
 
112
    /**
113
     * Get a exclude_if constraint builder instance.
114
     *
115
     * @param  callable|bool  $callback
116
     * @return \Illuminate\Validation\Rules\ExcludeIf
117
     */
118
    public static function excludeIf($callback)
119
    {
120
        return new ExcludeIf($callback);
121
    }
122
 
123
    /**
124
     * Get a prohibited_if constraint builder instance.
125
     *
126
     * @param  callable|bool  $callback
127
     * @return \Illuminate\Validation\Rules\ProhibitedIf
128
     */
129
    public static function prohibitedIf($callback)
130
    {
131
        return new ProhibitedIf($callback);
132
    }
133
 
134
    /**
135
     * Get an enum constraint builder instance.
136
     *
137
     * @param  string  $type
138
     * @return \Illuminate\Validation\Rules\Enum
139
     */
140
    public static function enum($type)
141
    {
142
        return new Enum($type);
143
    }
144
 
145
    /**
146
     * Get a file constraint builder instance.
147
     *
148
     * @return \Illuminate\Validation\Rules\File
149
     */
150
    public static function file()
151
    {
152
        return new File;
153
    }
154
 
155
    /**
156
     * Get an image file constraint builder instance.
157
     *
158
     * @return \Illuminate\Validation\Rules\ImageFile
159
     */
160
    public static function imageFile()
161
    {
162
        return new ImageFile;
163
    }
164
 
165
    /**
166
     * Get a dimensions constraint builder instance.
167
     *
168
     * @param  array  $constraints
169
     * @return \Illuminate\Validation\Rules\Dimensions
170
     */
171
    public static function dimensions(array $constraints = [])
172
    {
173
        return new Dimensions($constraints);
174
    }
175
}