CakePHP
  • 文档
    • 书籍
    • API
    • 视频
    • 报告安全问题
    • 隐私政策
    • 标识和商标
  • 业务解决方案
  • 周边产品
  • Road Trip
  • 团队
  • 社区
    • 社区
    • 参与
    • 问题 (Github)
    • Bakery
    • 精选资源
    • 培训
    • 聚会
    • 我的 CakePHP
    • CakeFest
    • 时事通讯
    • Linkedin
    • YouTube
    • Facebook
    • Twitter
    • Mastodon
    • 帮助和支持
    • 论坛
    • Stack Overflow
    • IRC
    • Slack
    • 付费支持
CakePHP

C CakePHP 5.1 Chiffon API

  • 项目
    • CakePHP
      • CakePHP
      • Chronos
      • Elastic Search
      • 队列
  • 版本
    • 5.1
      • 5.1
      • 5.0
      • 4.5
      • 4.4
      • 4.3
      • 4.2
      • 4.1
      • 4.0
      • 3.10
      • 3.9
      • 3.8
      • 3.7
      • 3.6
      • 3.5
      • 3.4
      • 3.3
      • 3.2
      • 3.1
      • 3.0
      • 2.10
      • 2.9
      • 2.8
      • 2.7
      • 2.6
      • 2.5
      • 2.4
      • 2.3
      • 2.2
      • 2.1
      • 2.0
      • 1.3
      • 1.2

命名空间

  • 全局
  • Cake
    • Cache
    • Collection
    • Command
    • Console
    • Controller
    • Core
    • Database
    • Datasource
    • Error
    • Event
    • Form
    • Http
    • I18n
    • Log
    • Mailer
    • Network
    • ORM
    • Routing
    • TestSuite
    • Utility
    • Validation
    • View

Trait ValidatorAwareTrait

一个提供构建和交互验证器的Trait。

此Trait在构建ORM类似功能时很有用,其中实现类希望构建和自定义各种验证器实例。

此Trait期望包含它的类定义三个常量

  • DEFAULT_VALIDATOR - 默认验证器名称。
  • VALIDATOR_PROVIDER_NAME - 包含类在验证器中分配的提供者名称。
  • BUILD_VALIDATOR_EVENT - 构建验证器时触发事件的名称。

如果包含类还实现了事件,则在创建验证器时会触发 Model.buildValidator 事件。

命名空间: Cake\Validation

属性摘要

  • $_validatorClass protected
    string

    验证器类。

  • $_validators protected
    arrayCake\Validation\Validator>

    一个按名称索引的验证对象列表

方法摘要

  • createValidator() protected

    使用类中的自定义方法创建验证器。

  • getValidator() public

    返回标记为 $name 的验证规则。可以有多个不同的命名验证集,这在您需要在系统中不同例程中保存时使用不同规则时很有用。

  • hasValidator() public

    检查是否已设置验证器。

  • setValidator() public

    此方法在给定名称下存储自定义验证器。

  • validationDefault() public

    返回默认验证器对象。子类可以覆盖此函数以向验证器对象添加默认验证集。

  • validationMethodExists() protected

    检查验证方法是否存在。

方法详情

createValidator() ¶ protected

createValidator(string $name): Cake\Validation\Validator

使用类中的自定义方法创建验证器。

此方法仅用于构建新的验证器,它不会将其存储在您的对象中。如果您想构建和重用验证器,请改用 getValidator() 方法。

参数
string $name

要创建的验证集的名称。

返回
Cake\Validation\Validator
抛出
InvalidArgumentException

getValidator() ¶ public

getValidator(string|null $name = null): Cake\Validation\Validator

返回标记为 $name 的验证规则。可以有多个不同的命名验证集,这在您需要在系统中不同例程中保存时使用不同规则时很有用。

如果之前没有设置验证器,此方法将使用类中的方法构建验证器。

例如,如果您希望创建一个名为 'forSubscription' 的验证集,您需要在 Table 子类中创建一个方法,如下所示

public function validationForSubscription($validator)
{
    return $validator
        ->add('email', 'valid-email', ['rule' => 'email'])
        ->add('password', 'valid', ['rule' => 'notBlank'])
        ->requirePresence('username');
}

$validator = $this->getValidator('forSubscription');

如果您希望有一个在未指定其他集的情况下适用的验证集,您可以在 Table 子类中的 validationDefault 中实现该方法。

如果没有提供 $name 参数,将返回默认验证器。您可以在 DEFAULT_VALIDATOR 类常量中配置默认验证器名称。

参数
string|null $name optional

要返回的验证集的名称。

返回
Cake\Validation\Validator

hasValidator() ¶ public

hasValidator(string $name): bool

检查是否已设置验证器。

参数
string $name

验证器的名称。

返回
bool

setValidator() ¶ public

setValidator(string $name, Cake\Validation\Validator $validator): $this

此方法在给定名称下存储自定义验证器。

您可以自行构建对象并将其存储在您的对象中

$validator = new \Cake\Validation\Validator();
$validator
    ->add('email', 'valid-email', ['rule' => 'email'])
    ->add('password', 'valid', ['rule' => 'notBlank'])
    ->allowEmpty('bio');
$this->setValidator('forSubscription', $validator);
参数
string $name

要设置的验证器的名称。

Cake\Validation\Validator $validator

要设置的验证器对象。

返回
$this

validationDefault() ¶ public

validationDefault(Cake\Validation\Validator $validator): Cake\Validation\Validator

返回默认验证器对象。子类可以覆盖此函数以向验证器对象添加默认验证集。

参数
Cake\Validation\Validator $validator

可以修改以添加一些规则的验证器。

返回
Cake\Validation\Validator

validationMethodExists() ¶ protected

validationMethodExists(string $name): bool

检查验证方法是否存在。

参数
string $name

验证方法名称。

返回
bool

属性详情

$_validatorClass ¶ protected

验证器类。

类型
string

$_validators ¶ protected

一个按名称索引的验证对象列表

类型
arrayCake\Validation\Validator>
OpenHub
Pingping
Linode
  • 业务解决方案
  • 展示
  • 文档
  • 书籍
  • API
  • 视频
  • 报告安全问题
  • 隐私政策
  • 标识和商标
  • 社区
  • 参与
  • 问题 (Github)
  • Bakery
  • 精选资源
  • 培训
  • 聚会
  • 我的 CakePHP
  • CakeFest
  • 时事通讯
  • Linkedin
  • YouTube
  • Facebook
  • Twitter
  • Mastodon
  • 帮助和支持
  • 论坛
  • Stack Overflow
  • IRC
  • Slack
  • 付费支持

使用 CakePHP API 文档 生成