[英]Yii2 apply validation rule on array of attributes
我使用 Yii2 和 model 规则进行验证。
我有一个$id
属性,它是一个 hash 值。 验证规则如下所示:
return [
['id', 'match', 'pattern' => '/^[a-f0-9]{16,32}$/i',
'on' => [self::SCENARIO_DEFAULT]],
[...some more validation rules...]
]
这适用于$id = '17e94c10df492a39'
但是现在,我有一个 id 数组,如下所示:
$id_list = ['17e94c10df492a39','27e94c10df492a39','37e94c10df492a39'];
有没有办法为这个数组使用现有的验证器规则? 或者有没有办法使用数组上的匹配验证器定义新规则?
我知道,可以编写自己的验证器。 但如果这适用于 yii2 板载资源,那就太好了。
您正在寻找的是each
核心验证器。 此验证器遍历数组并将定义的规则应用于数组中的每个项目。 您可以像这样定义规则:
return [
[
'id_list',
'each',
'rule' => ['match', 'pattern' => '/^[a-f0-9]{16,32}$/i'],
],
// ... other rules ...
];
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.