File tree Expand file tree Collapse file tree 1 file changed +18
-2
lines changed Expand file tree Collapse file tree 1 file changed +18
-2
lines changed Original file line number Diff line number Diff line change @@ -11,9 +11,16 @@ class Hex implements Rule
11
11
*/
12
12
protected $ forceFull ;
13
13
14
- public function __construct ($ forceFull = false )
14
+ /**
15
+ * @var bool
16
+ */
17
+ protected $ allowAlpha ;
18
+
19
+ public function __construct ($ forceFull = false , $ allowAlpha = false )
15
20
{
16
21
$ this ->forceFull = $ forceFull ;
22
+
23
+ $ this ->allowAlpha = $ allowAlpha ;
17
24
}
18
25
19
26
/**
@@ -27,11 +34,20 @@ public function __construct($forceFull = false)
27
34
public function passes ($ attribute , $ value )
28
35
{
29
36
$ pattern = '/^#([a-fA-F0-9]{6} ' ;
30
-
37
+
31
38
if (!$ this ->forceFull ) {
32
39
$ pattern .= '|[a-fA-F0-9]{3} ' ;
33
40
}
34
41
42
+ if ($ this ->allowAlpha ) {
43
+ $ pattern .= '|[a-fA-F0-9]{8} ' ;
44
+
45
+ if (!$ this ->forceFull ) {
46
+ $ pattern .= '|[a-fA-F0-9]{4} ' ;
47
+ }
48
+ }
49
+
50
+
35
51
$ pattern .= ')$/ ' ;
36
52
37
53
return (bool ) preg_match ($ pattern , $ value );
You can’t perform that action at this time.
0 commit comments