如果你采用的框架非以下框架,那么你可能需要实现存在验证器

  • Laravel
  • 软擎
  • ThinkPHP

实现存在验证器

当你使用Exists以及Unique规则时,会需要用到存在验证器,这个时候需要实现Itwmw\Validation\Support\Interfaces\PresenceVerifierInterface接口

class PresenceVerifier implements PresenceVerifierInterface{}

ValidateConfig::instance()->setPresenceVerifier(new PresenceVerifier());
1
2
3

提供验证器工厂需要的

  • 提供翻译器setTranslator可选
  • 提供存在验证器的实现setPresenceVerifier 可选

如未提供存在验证器则无法使用 exists 等需要操作数据库的验证规则

配置自定义规则类路径

为了让验证器自动发现自定义规则类,需要配置自定义规则的命名空间前缀,如你的规则完整命名空间为: W7\App\Model\Validate\Rules\AlphaDash,则你需要提供的前缀为W7\App\Model\Validate\Rules

ValidateConfig::instance()->setRulesPath('W7\\App\\Model\\Validate\\Rules\\');
1
Last Updated: 2021/10/13 下午2:39:38