Php 如何添加自定义验证器以尊重';s验证库

Php 如何添加自定义验证器以尊重';s验证库,php,validation,respect-validation,Php,Validation,Respect Validation,awesome附带了很多内置的验证器,比如string()、alpha()等等。我想向库中添加自定义验证器,例如,我希望能够做到这一点: Validator::myCustomValidator()->assert( $input ); 我刚刚发现这并不复杂,但我必须查看库的源代码才能找到答案,所以我在这里发布了这个自我回答的问题,以供将来参考。在适当的名称空间中定义验证类和附带的异常类,验证库将自动使用它们来验证您的数据,例如: myCustomValidator.php: <?

awesome附带了很多内置的验证器,比如string()、alpha()等等。我想向库中添加自定义验证器,例如,我希望能够做到这一点:

Validator::myCustomValidator()->assert( $input );

我刚刚发现这并不复杂,但我必须查看库的源代码才能找到答案,所以我在这里发布了这个自我回答的问题,以供将来参考。

在适当的名称空间中定义验证类和附带的异常类,验证库将自动使用它们来验证您的数据,例如:

myCustomValidator.php:

<?php

namespace Respect\Validation\Rules;

class myCustomValidator extends AbstractRule
{
    public function validate($input)
    {
        return true; // Implement actual check here; eg: return is_string($input);
    }
}
<?php

namespace Respect\Validation\Exceptions;

class myCustomValidatorException extends ValidationException
{
    public static $defaultTemplates = array(
        self::MODE_DEFAULT => array(
            self::STANDARD => '{{name}} must ... ', // eg: must be string
        ),
        self::MODE_NEGATIVE => array(
            self::STANDARD => '{{name}} must not ... ', // eg: must not be string
        )
    );
}