【发布时间】:2019-11-18 22:36:44
【问题描述】:
目标:我有一个数据库,其中包含许多共享许多列的表。例如,users 表和orders 表都有一组组成地址的四列。与其在每个表的 validationDefault() 函数中重复相同的规则,我宁愿让规则可重用。
Attampt:我看了Book: Creating Reusable Validators和stackoverflow question on the topic,我明白这种用法:
public function validationCustomAndDefault()
{
$validator = new \App\Model\Validation\CustomModelValidator();
return $this->validationDefault($validator);
}
问题:基于验证功能的自定义验证会创建一个新的验证对象。我想组合多个可重用的验证。我怎么能意识到这一点?所以在某种伪代码中:
// In src/Model/Table/UsersTable
public function validationDefault(Validator $validator)
{
$validator1 = new \App\Model\Validation\CustomAddressValidator(); // Bunch of columns defined in there
$validator2 = new \App\Model\Validation\CustomOtherValidator();
$validator = validator1 + $validator2;
return $validator;
}
【问题讨论】:
标签: validation cakephp cakephp-3.0 cakephp-3.x