22
33spl_autoload_register (function ($ class )
44{
5- $ file = __DIR__ . '/ ' . $ class . '.php ' ;
5+ // e.g. "inhere\validate\ValidationTrait"
6+ if (strpos ($ class ,'\\' )) {
7+ $ file = dirname (__DIR__ ) . '/src/ ' . trim (strrchr ($ class ,'\\' ),'\\' ). '.php ' ;
8+ } else {
9+ $ file = __DIR__ . '/ ' . $ class . '.php ' ;
10+ }
611
712 if (is_file ($ file )) {
813 include $ file ;
1419 'tagId ' => '234535 ' ,
1520 // 'freeTime' => 'sdfdffffffffff',
1621 'distanceRequire ' => 'sdfdffffffffff ' ,
17- 'note ' => 'sdfdffffffffff ' ,
18- 'insertTime ' => '' ,
19- 'lastReadTime ' => 'sdfdffffffffff ' ,
22+ 'note ' => '' ,
23+ 'insertTime ' => '1456767657 ' ,
24+ 'lastReadTime ' => '1456767657 ' ,
2025];
2126
2227$ rules = [
23- ['tagId,userId,freeTime ' , 'required ' , 'msg ' => '{field} is required! ' ],
24- ['note ' , 'email ' ],
25- ['tagId ' , 'size ' , 'min ' =>4 , 'max ' =>567 , 'msg ' => '{field} must is big! ' ], // 4<= tagId <=567
26- ['freeTime ' , 'size ' , 'min ' =>4 , 'max ' =>567 , 'msg ' => '{field} must is big! ' ], // 4<= tagId <=567
27- ['userId ' , function ($ value ){ echo $ value ."\n" ; return false ;}, 'msg ' => '{field} check filare! ' ],
28+ ['tagId,userId,freeTime ' , 'required ' , 'msg ' => '{attr} is required! ' ],// set message
29+ ['note ' , 'email ' , 'skipOnEmpty ' => false ], // set skipOnEmpty is false.
30+ ['insertTime ' , 'email ' , 'scene ' => 'otherScene ' ],// set scene. will is not validate it on default.
31+ ['tagId ' , 'size ' , 'min ' =>4 , 'max ' =>567 ], // 4<= tagId <=567
32+ ['freeTime ' , 'size ' , 'min ' =>4 , 'max ' =>567 , 'when ' => function ($ data , $ valid ) {
33+ echo " use when pre-check \n" ;
34+
35+ // $valid is current validation instance.
36+
37+ return true ;
38+ }], // 4<= tagId <=567
39+
40+ ['userId ' , function ($ value , $ data ){
41+ echo " use custom validate \n" ;
42+
43+ var_dump ($ value , $ data );
44+
45+ echo __LINE__ . "\n" ;
46+
47+ return false ;
48+ }, 'msg ' => 'userId check failure! ' ],
2849];
2950
30- /*
31- $model = new TestModel();
32- $ret = $model->load ($_POST)->validate( );
33- */
34- $ model = new DataModel ( $ _POST , $ rules );
35- $ ret = $ model ->validate ([], true );
36-
37- // echo "<pre>";
38- var_dump ( $ ret ,
39- $ model ->firstError ()
51+ echo " use ValidationTrait \n" ;
52+
53+ //$model = new DataModel ($_POST,$rules );
54+ $ model = new DataModel ;
55+ $ model-> setData ( $ data )-> setRules ( $ rules );
56+ $ model ->validate ();
57+
58+ var_dump (
59+ $ model -> all () ,
60+ $ model ->getErrors ()
4061);
4162
63+ /*
64+ echo "--------------\n";
65+ echo "use Validation\n";
66+
67+ $valid = \inhere\validate\Validation::make($data, $rules)->validate();
4268
43- // echo "</pre>";
69+ var_dump(
70+ $valid->all(),
71+ $valid->getErrors()
72+ );
73+ */
0 commit comments