File tree Expand file tree Collapse file tree 2 files changed +38
-4
lines changed Expand file tree Collapse file tree 2 files changed +38
-4
lines changed Original file line number Diff line number Diff line change 5
5
use Illuminate \Contracts \Validation \Rule ;
6
6
use Illuminate \Support \Facades \Validator ;
7
7
use Illuminate \Support \Str ;
8
+ use Illuminate \Support \Traits \ForwardsCalls ;
8
9
use Illuminate \Validation \Rules \Exists ;
9
10
use Maize \Encryptable \Encryption ;
10
11
11
- class ExistsEncrypted extends Exists implements Rule
12
+ class ExistsEncrypted implements Rule
12
13
{
14
+ use ForwardsCalls;
15
+
16
+ private Exists $ rule ;
17
+
18
+ public function __construct (string $ table , string $ column = 'NULL ' )
19
+ {
20
+ $ this ->rule = new Exists ($ table , $ column );
21
+ }
22
+
23
+ public function __call (string $ name , array $ arguments )
24
+ {
25
+ $ this ->forwardCallTo ($ this ->rule , $ name , $ arguments );
26
+
27
+ return $ this ;
28
+ }
29
+
13
30
public function passes ($ attribute , $ value ): bool
14
31
{
15
32
$ attribute = Str::before ($ attribute , '. ' );
16
33
17
34
return ! Validator::make ([
18
35
$ attribute => Encryption::php ()->encrypt ($ value ),
19
36
], [
20
- $ attribute => ( string ) $ this ,
37
+ $ attribute => $ this -> rule ,
21
38
])->fails ();
22
39
}
23
40
Original file line number Diff line number Diff line change 5
5
use Illuminate \Contracts \Validation \Rule ;
6
6
use Illuminate \Support \Facades \Validator ;
7
7
use Illuminate \Support \Str ;
8
+ use Illuminate \Support \Traits \ForwardsCalls ;
8
9
use Illuminate \Validation \Rules \Unique ;
9
10
use Maize \Encryptable \Encryption ;
10
11
11
- class UniqueEncrypted extends Unique implements Rule
12
+ class UniqueEncrypted implements Rule
12
13
{
14
+ use ForwardsCalls;
15
+
16
+ private Unique $ rule ;
17
+
18
+ public function __construct (string $ table , string $ column = 'NULL ' )
19
+ {
20
+ $ this ->rule = new Unique ($ table , $ column );
21
+ }
22
+
23
+ public function __call (string $ name , array $ arguments )
24
+ {
25
+ $ this ->forwardCallTo ($ this ->rule , $ name , $ arguments );
26
+
27
+ return $ this ;
28
+ }
29
+
13
30
public function passes ($ attribute , $ value ): bool
14
31
{
15
32
$ attribute = Str::before ($ attribute , '. ' );
16
33
17
34
return ! Validator::make ([
18
35
$ attribute => Encryption::php ()->encrypt ($ value ),
19
36
], [
20
- $ attribute => ( string ) $ this ,
37
+ $ attribute => $ this -> rule ,
21
38
])->fails ();
22
39
}
23
40
You can’t perform that action at this time.
0 commit comments