summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAsko Nõmm <asko@repl.ee>2023-09-26 22:29:48 +0300
committerAsko Nõmm <asko@repl.ee>2023-09-26 22:29:48 +0300
commit142114a26452c33bbd41083be308cf8a0a3d5a2e (patch)
tree4156451e3b26240b9fa629c2c6b875467753de97
parent641826a5a408b00a6adb04847d178925bbe0e574 (diff)
Implement `addError`
-rw-r--r--README.md10
-rw-r--r--src/Hird.php11
2 files changed, 21 insertions, 0 deletions
diff --git a/README.md b/README.md
index 08ef693..19be459 100644
--- a/README.md
+++ b/README.md
@@ -56,6 +56,16 @@ You can use `$hird->setFieldNames` to overwrite the field names for use within t
$hird->setFieldNames(['email' => 'E-mail']);
```
+#### Manually add an error
+
+In some cases you want to use the same validator provided error messages, but want to mix-match them with validations you do outside of Hird. Well, for that you can use the `addError` method, like so:
+
+```php
+$hird->addError("My error message goes here");
+```
+
+Which will prompt Hird validation to fail and show that error message.
+
## Built-in validators
There are a number of built-in validators available for use by default. If you want to remove a built-in validator, you can remove one using the `$hird->removeValidator('rule-name')` method.
diff --git a/src/Hird.php b/src/Hird.php
index 956d7d6..eb96dd1 100644
--- a/src/Hird.php
+++ b/src/Hird.php
@@ -119,6 +119,17 @@ class Hird
}
/**
+ * Manually adds an error.
+ *
+ * @param string $error
+ * @return void
+ */
+ public function addError(string $error): void
+ {
+ $this->errors[] = $error;
+ }
+
+ /**
* Runs `$this->rules` over `$this->fields` to construct
* potential errors that will be stored as an array of strings
* in `$this->errors`.