【发布时间】:2021-05-15 01:20:02
【问题描述】:
我在属性键验证方面遇到问题。
在模型中我有如下属性:
public $_fileds = [];
我的看法
<?= $form->field($model, '_fileds[name]') ?>
<?= $form->field($model, '_fileds[type]') ?>
我想将“_fields[name]”设置为必需字段。例如,我尝试在模型中添加如下规则:
public function rules()
{
return [
[['_fields[name]'], 'required']
];
}
但这不起作用:(
有人有解决办法吗?
对不起,我的英语不好,提前感谢所有解决方案。
【问题讨论】:
-
_fields[name]不是属性名称,因此在验证规则中不起作用。您是否有任何理由为多个字段使用一个数组属性而不是为每个字段添加单独的属性? -
是的,我想将 $_fields 作为 json 添加到 mysql 中的表中,例如: [0 => ['name' => 'Email', 'type' => 'text'], 1 => ['名称' => '密码', '类型' => '密码']]
-
验证后不能从多个属性生成这个 JSON 吗?
-
您可以为特定的 JSON 格式再创建一个模型,并在规则中描述 json 字段
-
但我想使用循环为索引做多个字段。 _fileds[0][名称]、_fileds[1][名称]、_fileds[2][名称]。在验证器“每个”的帮助下做你提到的,还是我应该收集表格输入?
标签: php validation model-view-controller yii2