Add CRUD create/update form validation

This commit is contained in:
Riyyi
2021-05-10 18:06:20 +02:00
parent 230b580909
commit aed4f15e22
2 changed files with 24 additions and 4 deletions
+22 -2
View File
@@ -222,8 +222,7 @@ abstract class Model {
// Set other attributes
foreach ($this->getAttributes() as $attribute) {
if (_exists($fill, $attribute) ||
(isset($fill[$attribute]) && $fill[$attribute] === '0')) {
if (isset($fill[$attribute])) {
// Escape sequences are only interpreted with double quotes!
$this->{$attribute} = preg_replace('/\r\n?/', "\n", $fill[$attribute]);
}
@@ -232,6 +231,27 @@ abstract class Model {
return true;
}
public function validate(): bool
{
foreach ($this->getAttributes() as $attribute) {
$required = false;
foreach ($this->rules as $rule) {
if ($rule[0] == $attribute && $rule[2] == 1) {
$required = true;
break;
}
}
// Exit if rule is marked 'required' but empty, "0" is not empty!
if ($required && empty($this->{$attribute}) && $this->{$attribute} !== "0") {
return false;
}
}
return true;
}
public function getPrimaryKey(): string
{
return $this->primaryKey;