Fixes validator to accept "0" as valid value
parent
76385b78d5
commit
9908f555b2
|
|
@ -21,9 +21,25 @@ class Validator {
|
||||||
$value = $this->data[$field] ?? null;
|
$value = $this->data[$field] ?? null;
|
||||||
|
|
||||||
switch ($rule) {
|
switch ($rule) {
|
||||||
|
// case for required fields that can be empty strings
|
||||||
case 'required':
|
case 'required':
|
||||||
if ($parameter && empty($value)) {
|
if ($parameter && empty($value)) {
|
||||||
$this->addError($field, "Field is required");
|
$label = $this->formatFieldLabel($field);
|
||||||
|
$this->addError($field, "$label is required");
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
// special case for required fields that can't be empty strings or null
|
||||||
|
case 'required_strict':
|
||||||
|
if ($parameter) {
|
||||||
|
if ($value === null) {
|
||||||
|
$label = $this->formatFieldLabel($field);
|
||||||
|
$this->addError($field, "$label is required");
|
||||||
|
} elseif (is_string($value)) {
|
||||||
|
if (trim($value) === '') {
|
||||||
|
$label = $this->formatFieldLabel($field);
|
||||||
|
$this->addError($field, "$label is required");
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case 'email':
|
case 'email':
|
||||||
|
|
@ -92,6 +108,10 @@ class Validator {
|
||||||
$this->errors[$field][] = $message;
|
$this->errors[$field][] = $message;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private function formatFieldLabel($field) {
|
||||||
|
return ucfirst(str_replace('_', ' ', $field));
|
||||||
|
}
|
||||||
|
|
||||||
public function getErrors() {
|
public function getErrors() {
|
||||||
return $this->errors;
|
return $this->errors;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue