CakePHP
  • 文档
    • 书籍
    • API
    • 视频
    • 报告安全问题
    • 隐私政策
    • 标识和商标
  • 商业解决方案
  • 纪念品
  • 公路旅行
  • 团队
  • 社区
    • 社区
    • 参与
    • 问题 (Github)
    • 烘焙坊
    • 精选资源
    • 培训
    • 聚会
    • 我的 CakePHP
    • CakeFest
    • 时事通讯
    • 领英
    • YouTube
    • 脸书
    • 推特
    • 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
    • 缓存
    • 集合
    • 命令
    • 控制台
    • 控制器
    • 核心
    • 数据库
    • 数据源
    • 错误
    • 事件
    • 表单
    • Http
    • I18n
    • 日志
    • 邮件
    • 网络
    • ORM
      • 关联
      • 行为
      • 异常
      • 定位器
      • 查询
      • 规则
    • 路由
    • 测试套件
    • 实用程序
    • 验证
    • 视图

类 RulesChecker

ORM 风格的规则检查器。

为 RulesChecker 类添加了与 ORM 相关的功能。

命名空间: Cake\ORM
参见: \Cake\Datasource\RulesChecker

常量

  • 字符串
    CREATE ¶
    'create'

    表示要应用的检查规则是用于创建实体的那些规则。

  • 字符串
    DELETE ¶
    'delete'

    表示要应用的检查规则是用于删除实体的那些规则。

  • 字符串
    UPDATE ¶
    'update'

    表示要应用的检查规则是用于更新实体的那些规则。

属性概述

  • $_createRules protected
    arrayCake\Datasource\RuleInvoker>

    创建操作期间要检查的规则列表

  • $_deleteRules protected
    arrayCake\Datasource\RuleInvoker>

    删除操作期间要检查的规则列表

  • $_options protected
    数组

    传递给每个可调用规则的选项列表

  • $_rules protected
    arrayCake\Datasource\RuleInvoker>

    要在创建和更新操作中检查的规则列表

  • $_updateRules protected
    arrayCake\Datasource\RuleInvoker>

    更新操作期间要检查的规则列表

  • $_useI18n protected
    布尔值

    是否使用 I18n 函数翻译默认错误消息

方法概述

  • __construct() public

    构造函数。接收要传递给所有规则的选项。

  • _addError() protected

    用于装饰任何可调用函数的实用程序方法,以便如果它返回 false,实体中的正确属性将被标记为无效。

  • _addLinkConstraintRule() protected

    添加链接约束规则。

  • _checkRules() protected

    由顶级函数 checkDelete、checkCreate 和 checkUpdate 使用,此函数迭代包含要检查规则的数组,并检查所有规则。

  • add() public

    添加一个规则,该规则将在创建和更新操作中应用于实体。

  • addCreate() public

    添加一个规则,该规则将在创建操作中应用于实体。

  • addDelete() public

    添加一个规则,该规则将在删除操作中应用于实体。

  • addUpdate() public

    添加一个规则,该规则将在更新操作中应用于实体。

  • check() public

    通过传递提供的实体运行每个规则,如果所有规则都通过则返回 true。要应用的规则取决于 $mode 参数,该参数只能是 RulesChecker::CREATE、RulesChecker::UPDATE 或 RulesChecker::DELETE

  • checkCreate() public

    通过传递提供的实体运行每个规则,如果所有规则都通过则返回 true。选定的规则将仅是那些指定在 'create' 上运行的规则。

  • checkDelete() public

    通过传递提供的实体运行每个规则,如果所有规则都通过则返回 true。选定的规则将仅是那些指定在 'delete' 上运行的规则。

  • checkName() protected

    检查规则是否已存在。

  • checkUpdate() public

    通过传递提供的实体运行每个规则,如果所有规则都通过则返回 true。选定的规则将仅是那些指定在 'update' 上运行的规则。

  • existsIn() public

    返回一个可调用函数,该函数可用作规则来检查从实体中提取的值是否作为主键存在于另一个表中。

  • isLinkedTo() public

    验证是否存在指向给定关联的链接。

  • isNotLinkedTo() public

    验证是否存在指向给定关联的链接。

  • isUnique() public

    返回一个可调用函数,该函数可用作规则来检查表中值的唯一性。

  • remove() public

    从集合中删除规则。

  • removeCreate() public

    从创建集合中删除规则。

  • removeDelete() public

    从删除集合中删除规则。

  • removeUpdate() public

    从更新集合中删除规则。

  • validCount() public

    验证关联记录的数量。

方法详情

__construct() ¶ public

__construct(array<string, mixed> $options = [])

构造函数。接收要传递给所有规则的选项。

参数
array<string, mixed> $options optional

传递给每个规则的选项

_addError() ¶ protected

_addError(callable $rule, array|string|null $name = null, array<string, mixed> $options = []): Cake\Datasource\RuleInvoker

用于装饰任何可调用函数的实用程序方法,以便如果它返回 false,实体中的正确属性将被标记为无效。

参数
callable $rule

要装饰的规则

array|string|null $name optional

规则的别名或选项数组

array<string, mixed> $options optional

包含错误消息和字段的选项。

返回值
Cake\Datasource\RuleInvoker

_addLinkConstraintRule() ¶ protected

_addLinkConstraintRule(Cake\ORM\Association|string $association, string|null $errorField, string|null $message, string $linkStatus, string $ruleName): Cake\Datasource\RuleInvoker

添加链接约束规则。

参数
Cake\ORM\Association|string $association

要检查链接的关联。

string|null $errorField

用于设置可能的错误的属性名称。如果不存在,则从 $association 推断出名称。

string|null $message

如果规则未通过,则显示的错误消息。

string $linkStatus

检查通过所需的链接状态。

string $ruleName

规则的别名/名称。

返回值
Cake\Datasource\RuleInvoker
抛出
InvalidArgumentException
如果 `$association` 参数类型无效。
参见
\Cake\ORM\RulesChecker::isLinkedTo()
\Cake\ORM\RulesChecker::isNotLinkedTo()
\Cake\ORM\Rule\LinkConstraint::STATUS_LINKED
\Cake\ORM\Rule\LinkConstraint::STATUS_NOT_LINKED

_checkRules() ¶ 受保护的

_checkRules(Cake\Datasource\EntityInterface $entity, array<string, mixed> $options = [], arrayCake\Datasource\RuleInvoker> $rules = []): bool

由顶级函数 checkDelete、checkCreate 和 checkUpdate 使用,此函数迭代包含要检查规则的数组,并检查所有规则。

参数
Cake\Datasource\EntityInterface $entity

要检查有效性的实体。

array<string, mixed> $options optional

传递给检查器函数的额外选项。

array<string, Cake\Datasource\RuleInvoker> $rules 可选的

必须检查的规则列表。

返回值
布尔值

add() ¶ 公共的

add(callable $rule, array|string|null $name = null, array<string, mixed> $options = []): $this

添加一个规则,该规则将在创建和更新操作中应用于实体。

选项

选项数组接受以下特殊键

  • errorField: 如果规则不通过,将被标记为无效的实体字段的名称。
  • message: 如果规则不通过,要设置为 errorField 的错误消息。
参数
callable $rule

一个可调用函数或对象,它将返回实体是否有效。

array|string|null $name optional

规则的别名,或一个选项数组。

array<string, mixed> $options optional

传递给规则可调用函数的额外选项列表,作为第二个参数。

返回值
$this
抛出
Cake\Core\Exception\CakeException
如果具有相同名称的规则已存在

addCreate() ¶ 公共的

addCreate(callable $rule, array|string|null $name = null, array<string, mixed> $options = []): $this

添加一个规则,该规则将在创建操作中应用于实体。

选项

选项数组接受以下特殊键

  • errorField: 如果规则不通过,将被标记为无效的实体字段的名称。
  • message: 如果规则不通过,要设置为 errorField 的错误消息。
参数
callable $rule

一个可调用函数或对象,它将返回实体是否有效。

array|string|null $name optional

规则的别名或选项数组。

array<string, mixed> $options optional

传递给规则可调用函数的额外选项列表,作为第二个参数。

返回值
$this
抛出
Cake\Core\Exception\CakeException
如果具有相同名称的规则已存在

addDelete() ¶ 公共的

addDelete(callable $rule, array|string|null $name = null, array<string, mixed> $options = []): $this

添加一个规则,该规则将在删除操作中应用于实体。

选项

选项数组接受以下特殊键

  • errorField: 如果规则不通过,将被标记为无效的实体字段的名称。
  • message: 如果规则不通过,要设置为 errorField 的错误消息。
参数
callable $rule

一个可调用函数或对象,它将返回实体是否有效。

array|string|null $name optional

规则的别名,或一个选项数组。

array<string, mixed> $options optional

传递给规则可调用函数的额外选项列表,作为第二个参数。

返回值
$this
抛出
Cake\Core\Exception\CakeException
如果具有相同名称的规则已存在

addUpdate() ¶ 公共的

addUpdate(callable $rule, array|string|null $name = null, array<string, mixed> $options = []): $this

添加一个规则,该规则将在更新操作中应用于实体。

选项

选项数组接受以下特殊键

  • errorField: 如果规则不通过,将被标记为无效的实体字段的名称。
  • message: 如果规则不通过,要设置为 errorField 的错误消息。
参数
callable $rule

一个可调用函数或对象,它将返回实体是否有效。

array|string|null $name optional

规则的别名,或一个选项数组。

array<string, mixed> $options optional

传递给规则可调用函数的额外选项列表,作为第二个参数。

返回值
$this
抛出
Cake\Core\Exception\CakeException
如果具有相同名称的规则已存在

check() ¶ 公共的

check(Cake\Datasource\EntityInterface $entity, string $mode, array<string, mixed> $options = []): bool

通过传递提供的实体运行每个规则,如果所有规则都通过则返回 true。要应用的规则取决于 $mode 参数,该参数只能是 RulesChecker::CREATE、RulesChecker::UPDATE 或 RulesChecker::DELETE

参数
Cake\Datasource\EntityInterface $entity

要检查有效性的实体。

string $mode

“创建”、“更新”或“删除”。

array<string, mixed> $options optional

传递给检查器函数的额外选项。

返回值
布尔值
抛出
InvalidArgumentException
如果传递了无效的模式。

checkCreate() ¶ 公共的

checkCreate(Cake\Datasource\EntityInterface $entity, array<string, mixed> $options = []): bool

通过传递提供的实体运行每个规则,如果所有规则都通过则返回 true。选定的规则将仅是那些指定在 'create' 上运行的规则。

参数
Cake\Datasource\EntityInterface $entity

要检查有效性的实体。

array<string, mixed> $options optional

传递给检查器函数的额外选项。

返回值
布尔值

checkDelete() ¶ 公共的

checkDelete(Cake\Datasource\EntityInterface $entity, array<string, mixed> $options = []): bool

通过传递提供的实体运行每个规则,如果所有规则都通过则返回 true。选定的规则将仅是那些指定在 'delete' 上运行的规则。

参数
Cake\Datasource\EntityInterface $entity

要检查有效性的实体。

array<string, mixed> $options optional

传递给检查器函数的额外选项。

返回值
布尔值

checkName() ¶ 受保护的

checkName(string $name, arrayCake\Datasource\RuleInvoker> $rules): void

检查规则是否已存在。

参数
string $name

要检查的名称

array<string, Cake\Datasource\RuleInvoker> $rules

要检查的规则数组

返回值
void
抛出
Cake\Core\Exception\CakeException

checkUpdate() ¶ 公共的

checkUpdate(Cake\Datasource\EntityInterface $entity, array<string, mixed> $options = []): bool

通过传递提供的实体运行每个规则,如果所有规则都通过则返回 true。选定的规则将仅是那些指定在 'update' 上运行的规则。

参数
Cake\Datasource\EntityInterface $entity

要检查有效性的实体。

array<string, mixed> $options optional

传递给检查器函数的额外选项。

返回值
布尔值

existsIn() ¶ 公共的

existsIn(list<string>|string $field, Cake\ORM\TableCake\ORM\Association|string $table, array<string, mixed>|string|null $message = null): Cake\Datasource\RuleInvoker

返回一个可调用函数,该函数可用作规则来检查从实体中提取的值是否作为主键存在于另一个表中。

这对于强制执行外键完整性检查很有用。

示例

$rules->add($rules->existsIn('author_id', 'Authors', 'Invalid Author'));

$rules->add($rules->existsIn('site_id', new SitesTable(), 'Invalid Site'));

可用的 $options 是错误“消息”和“allowNullableNulls”标志。“消息”设置自定义错误消息。将“allowNullableNulls”设置为 true 以接受一个或多个可为空列为空的复合外键。

参数
list<string>|string $field

要通过主键查找在另一个表中检查是否存在字段或字段列表。

Cake\ORM\Table|Cake\ORM\Association|string $table

将检查字段存在的表名。

array<string, mixed>|string|null $message 可选的

如果规则不通过,要显示的错误消息。也可以是选项数组。当为数组时,可以使用“message”键来提供消息。

返回值
Cake\Datasource\RuleInvoker

isLinkedTo() ¶ 公共的

isLinkedTo(Cake\ORM\Association|string $association, string|null $field = null, string|null $message = null): Cake\Datasource\RuleInvoker

验证是否存在指向给定关联的链接。

示例

$rules->addUpdate($rules->isLinkedTo('Articles', 'article'));

在具有 belongsTo Articles 关联的 Comments 表中,此检查将确保只有当评论与现有文章关联时才能编辑它们。

参数
Cake\ORM\Association|string $association

要检查链接的关联。

string|null $field 可选的

关联属性的名称。当提供时,这是用于设置可能的错误的名称。当不存在时,该名称是从 $association 推断出来的。

string|null $message 可选的

如果规则未通过,则显示的错误消息。

返回值
Cake\Datasource\RuleInvoker

isNotLinkedTo() ¶ 公共的

isNotLinkedTo(Cake\ORM\Association|string $association, string|null $field = null, string|null $message = null): Cake\Datasource\RuleInvoker

验证是否存在指向给定关联的链接。

示例

$rules->addDelete($rules->isNotLinkedTo('Comments', 'comments'));

在具有 hasMany Comments 关联的 Articles 表中,此检查将确保只有当没有关联评论时才能删除文章。

参数
Cake\ORM\Association|string $association

要检查链接的关联。

string|null $field 可选的

关联属性的名称。当提供时,这是用于设置可能的错误的名称。当不存在时,该名称是从 $association 推断出来的。

string|null $message 可选的

如果规则未通过,则显示的错误消息。

返回值
Cake\Datasource\RuleInvoker

isUnique() ¶ 公共的

isUnique(list<string> $fields, array<string, mixed>|string|null $message = null): Cake\Datasource\RuleInvoker

返回一个可调用函数,该函数可用作规则来检查表中值的唯一性。

示例

$rules->add($rules->isUnique(['email'], 'The email should be unique'));

选项

  • allowMultipleNulls 允许任何字段具有多个空值。默认值为 false。
参数
list<string> $fields

要检查唯一性的字段列表。

array<string, mixed>|string|null $message 可选的

如果规则不通过,要显示的错误消息。也可以是选项数组。当为数组时,可以使用“message”键来提供消息。

返回值
Cake\Datasource\RuleInvoker

remove() ¶ 公共的

remove(string $name): $this

从集合中删除规则。

参数
string $name

要删除的规则的名称。

返回值
$this

removeCreate() ¶ 公共的

removeCreate(string $name): $this

从创建集合中删除规则。

参数
string $name

要删除的规则的名称。

返回值
$this

removeDelete() ¶ 公共的

removeDelete(string $name): $this

从删除集合中删除规则。

参数
string $name

要删除的规则的名称。

返回值
$this

removeUpdate() ¶ 公共的

removeUpdate(string $name): $this

从更新集合中删除规则。

参数
string $name

要删除的规则的名称。

返回值
$this

validCount() ¶ 公共的

validCount(string $field, int $count = 0, string $operator = '>', string|null $message = null): Cake\Datasource\RuleInvoker

验证关联记录的数量。

参数
string $field

要检查计数的字段。

int $count 可选的

预期的计数。

string $operator 可选的

计数比较的操作符。

string|null $message 可选的

如果规则未通过,则显示的错误消息。

返回值
Cake\Datasource\RuleInvoker

属性详情

$_createRules ¶ 受保护的

创建操作期间要检查的规则列表

类型
arrayCake\Datasource\RuleInvoker>

$_deleteRules ¶ 受保护的

删除操作期间要检查的规则列表

类型
arrayCake\Datasource\RuleInvoker>

$_options ¶ 受保护的

传递给每个可调用规则的选项列表

类型
数组

$_rules ¶ 受保护的

要在创建和更新操作中检查的规则列表

类型
arrayCake\Datasource\RuleInvoker>

$_updateRules ¶ 受保护的

更新操作期间要检查的规则列表

类型
arrayCake\Datasource\RuleInvoker>

$_useI18n ¶ 受保护的

是否使用 I18n 函数翻译默认错误消息

类型
布尔值
OpenHub
Pingping
Linode
  • 商业解决方案
  • 展示
  • 文档
  • 书籍
  • API
  • 视频
  • 报告安全问题
  • 隐私政策
  • 标识和商标
  • 社区
  • 参与
  • 问题 (Github)
  • 烘焙坊
  • 精选资源
  • 培训
  • 聚会
  • 我的 CakePHP
  • CakeFest
  • 时事通讯
  • 领英
  • YouTube
  • 脸书
  • 推特
  • Mastodon
  • 帮助和支持
  • 论坛
  • Stack Overflow
  • IRC
  • Slack
  • 付费支持

使用 CakePHP API 文档 生成