@@ -38,7 +38,7 @@ class Validator {
3838 *
3939 * @var array
4040 */
41- private $ default_message ;
41+ private $ default_messages ;
4242
4343 /**
4444 * Store predefined rules
@@ -47,6 +47,21 @@ class Validator {
4747 */
4848 private $ predefined_rules ;
4949
50+ /**
51+ * Store valid data
52+ *
53+ * @var array
54+ */
55+ private $ valid_data ;
56+
57+ /**
58+ * Store invalid data
59+ *
60+ * @var array
61+ */
62+ private $ invalid_data ;
63+
64+
5065 function __construct () {
5166 //Predefined data validation rules
5267 $ this ->predefined_rules = [
@@ -95,6 +110,8 @@ function __construct() {
95110 public function validate ($ data , $ multiple_data =false ) : bool {
96111 $ is_valid = true ;
97112 $ this ->errors = [];
113+ $ this ->valid_data = [];
114+ $ this ->invalid_data = [];
98115
99116 //Convert users data type to array
100117 if (is_object ($ data )) {
@@ -108,6 +125,7 @@ public function validate($data, $multiple_data=false) : bool {
108125
109126 //Validate users data
110127 foreach ($ this ->rules as $ data_key => $ rules ) {
128+ $ is_valid_data = true ;
111129 if (is_array ($ rules )) {
112130 foreach ($ rules as $ rule => $ value ) {
113131 $ rule = strtolower ($ rule );
@@ -137,12 +155,14 @@ public function validate($data, $multiple_data=false) : bool {
137155 //Validate data
138156 if ($ this ->$ func ($ tmp_single_data , $ tmp_data_key , $ rules , $ data_key ) === false ) {
139157 $ is_valid = false ;
158+ $ is_valid_data = false ;
140159 break ;
141160 }
142161 } else {
143162 //Validate data
144163 if ($ this ->$ func ($ single_data , $ data_key , $ rules ) === false ) {
145164 $ is_valid = false ;
165+ $ is_valid_data = false ;
146166 break ;
147167 }
148168 }
@@ -171,12 +191,14 @@ public function validate($data, $multiple_data=false) : bool {
171191 //Validate data
172192 if ($ this ->$ func ($ tmp_data , $ tmp_data_key , $ rules , $ data_key ) === false ) {
173193 $ is_valid = false ;
194+ $ is_valid_data = false ;
174195 break ;
175196 }
176197 } else {
177198 //Validate data
178199 if ($ this ->$ func ($ data , $ data_key , $ rules ) === false ) {
179200 $ is_valid = false ;
201+ $ is_valid_data = false ;
180202 break ;
181203 }
182204 }
@@ -186,6 +208,12 @@ public function validate($data, $multiple_data=false) : bool {
186208 return false ;
187209 }
188210 }
211+ //Get valid data
212+ if ($ is_valid_data === true ) {
213+ $ this ->valid_data [$ data_key ] = $ data [$ data_key ];
214+ } else {
215+ $ this ->invalid_data [$ data_key ] = $ data [$ data_key ];
216+ }
189217 } else {
190218 $ this ->errors ['error ' ] = 'Error : Invalid rules for validation ' ;
191219 return false ;
0 commit comments