Skip to content

Commit d68e8a1

Browse files
Added new rules
1 parent 70c5634 commit d68e8a1

File tree

1 file changed

+25
-1
lines changed

1 file changed

+25
-1
lines changed

src/Validator.php

Lines changed: 25 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -198,6 +198,10 @@ private function set_error(string $data_key, array $rules, string $rule, $custom
198198
'true' => $data_key.' should be alphabet.',
199199
'false' => $data_key.' should not be alphabet.'
200200
],
201+
'null' => [
202+
'true' => $data_key.' should be empty or null.',
203+
'false' => $data_key.' should not be empty or null.'
204+
],
201205
'numeric' => [
202206
'true' => $data_key.' should be numeric.',
203207
'false' => $data_key.' should not be numeric.'
@@ -309,7 +313,7 @@ private function set_error(string $data_key, array $rules, string $rule, $custom
309313
*/
310314
private function validate_required(array $data, string $data_key, array $rules) : bool {
311315
if(!isset($rules['file']) || $rules['file'] === false) {
312-
if((!isset($data[$data_key]) && $rules['required'] === true) || (isset($data[$data_key]) && empty($data[$data_key]) && $data[$data_key] !== 0 && $rules['required'] === true)) {
316+
if((!array_key_exists($data_key, $data) && $rules['required'] === true)) {
313317
$this->set_error($data_key, $rules, 'required');
314318
return false;
315319
} else {
@@ -323,6 +327,26 @@ private function validate_required(array $data, string $data_key, array $rules)
323327
}
324328
}
325329

330+
/**
331+
* Validate null fields.
332+
*
333+
* @param array $data
334+
* @param string $data_key
335+
* @param array $rules
336+
* @return boolean
337+
*/
338+
private function validate_null(array $data, string $data_key, array $rules) : bool {
339+
if((isset($data[$data_key]) && !empty($data[$data_key]) && $data[$data_key] !== 0 && $data[$data_key] !== false && $rules['null'] === true)) {
340+
$this->set_error($data_key, $rules, 'null');
341+
return false;
342+
} else if((isset($data[$data_key]) && empty($data[$data_key]) && $data[$data_key] !== 0 && $data[$data_key] !== false && $rules['null'] === false)) {
343+
$this->set_error($data_key, $rules, 'null');
344+
return false;
345+
} else {
346+
return true;
347+
}
348+
}
349+
326350
/**
327351
* Validate alphabet fields.
328352
*

0 commit comments

Comments
 (0)