@@ -24,7 +24,8 @@ private static function checkRules($data,$rule) : bool{
2424 if (preg_match ($ pattern , $ rule )){
2525
2626 $ rulePattern = self ::$ rule_pattern_check [$ pattern ];
27-
27+ $ numerical = 0 ;
28+ $ checkStatus = true ;
2829
2930
3031 if (!preg_match ($ rulePattern ['pattern ' ], $ rule , $ matches )){
@@ -33,46 +34,59 @@ private static function checkRules($data,$rule) : bool{
3334 }
3435
3536 if ($ rulePattern ['parameter ' ]){
36-
3737 preg_match ($ rulePattern ['pattern_check ' ] ,$ rule , $ matches );
38-
39- if (!is_numeric ($ matches [1 ])){
40- self ::$ library_errors [] = $ rulePattern ['not_numeric_rule ' ];
41- return false ;
38+ if ($ rulePattern ['parameter_type ' ] == "numeric " ){
39+ if (!is_numeric ($ matches [1 ])){
40+ self ::$ library_errors [] = $ rulePattern ['not_numeric_rule ' ];
41+ return false ;
42+ }
4243 }
44+ $ numerical = $ matches [1 ];
45+ }
4346
4447
48+ if ($ rulePattern ['pattern_type ' ] == "numeric " ){
49+ //numeric check
4550
46- if ($ rulePattern ['pattern_type ' ] == "numeric " ){
47- //numeric check
48- $ numerical = $ matches [1 ];
4951
50- $ checkStatus = true ;
52+ if ($ rulePattern ['name ' ] == 'max_length ' ){
53+ if (strlen ($ data ['value ' ]) > $ numerical && $ numerical > 0 ){
54+ $ checkStatus = false ;
55+ }
56+ }if ($ rulePattern ['name ' ] == 'min_length ' ) {
57+ if (strlen ($ data ['value ' ]) < $ numerical && $ numerical > 0 ) {
58+ $ checkStatus = false ;
59+ }
60+ }
61+ }
62+ else if ($ rulePattern ['pattern_type ' ] == "string " ){
63+ //string check
64+ if ($ rulePattern ['name ' ] == 'is_numeric ' ){
65+ if (!is_numeric ($ data ['value ' ])){
66+ $ checkStatus = false ;
67+ }
68+ }
69+ if ($ rulePattern ['name ' ] == 'required ' ){
70+ if (empty ($ data ['value ' ])){
71+ $ checkStatus = false ;
72+ }
73+ }
74+
5175
76+ }
5277
5378
54- if ($ rulePattern ['name ' ] == 'max_length ' ){
55- if (strlen ($ data ['value ' ]) > $ numerical ){
56- $ checkStatus = false ;
57- }
58- }if ($ rulePattern ['name ' ] == 'min_length ' ) {
59- if (strlen ($ data ['value ' ]) < $ numerical ) {
60- $ checkStatus = false ;
61- }
79+ if ($ checkStatus === false ){
80+ //self::$errors['status'] = 0;
81+ if (isset (self ::$ errorMessages [$ data ['name ' ]][$ rulePattern ['name ' ]])){
82+ self ::$ errors [] = self ::$ errorMessages [$ data ['name ' ]][$ rulePattern ['name ' ]];
83+ }else {
84+ self ::$ errors [] = str_replace (':field ' , $ data ['name ' ], self ::$ error_messages [$ rulePattern ['name ' ]]);
6285 }
86+ }
6387
6488
6589
66- if ($ checkStatus === false ){
67- self ::$ errors ['status ' ] = 0 ;
68- if (isset (self ::$ errorMessages [$ data ['name ' ]]['min_length ' ])){
69- self ::$ errors [] = self ::$ errorMessages [$ data ['name ' ]]['min_length ' ];
70- }else {
71- self ::$ errors [] = str_replace (':field ' , $ data ['name ' ], self ::$ error_messages [$ rulePattern ['name ' ]]);
72- }
73- }
74- }
75- }
7690 }
7791 }
7892
@@ -135,7 +149,8 @@ public static function validateRule($data, $rules) : array {
135149 foreach (self ::$ rules as $ key => $ value ){
136150 foreach ($ value as $ k => $ v ) {
137151 //check if the rule has a parameter
138- $ rule = self ::checkRules (['name ' => $ key , 'value ' => $ data [$ key ]], $ v );
152+
153+ $ rule = self ::checkRules (['name ' => $ key , 'value ' => ($ data [$ key ] ?? null )] , $ v );
139154 if (!$ rule ){
140155 return self ::$ library_errors ;
141156 }
0 commit comments