From 142114a26452c33bbd41083be308cf8a0a3d5a2e Mon Sep 17 00:00:00 2001 From: Asko Nõmm Date: Tue, 26 Sep 2023 22:29:48 +0300 Subject: Implement `addError` --- README.md | 10 ++++++++++ src/Hird.php | 11 +++++++++++ 2 files changed, 21 insertions(+) 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 @@ -118,6 +118,17 @@ class Hird unset($this->validators[$ruleName]); } + /** + * 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 -- cgit v1.2.3