Yii2 -用键验证属性



我有一个属性键验证的问题。

在模型中,我有这样的属性:

public $_fileds = [];

和My view

<?= $form->field($model, '_fileds[name]') ?>
<?= $form->field($model, '_fileds[type]') ?>

我想设置"_fields[name]"作为必填字段。例如,我尝试在模型中添加这样的规则:

public function rules()
{
return [
[['_fields[name]'], 'required']
];
}

但这不起作用:(

谁有解决办法?

很抱歉我的英语不好,提前感谢所有的解决方案。

您可以编写自己的验证。

删除:public $_fileds = [];

public function rules()
{
return [
[['_fields[name]'], 'validateName']
];
}

在同一模型类中:

public function validateName():bool
{
... your checks(if fails return false) ...
return true;
}

但是有一个问题:如果一些检查失败了,在正常情况下,需要使用$this->addError()设置错误消息,这将正确地处理非数组元素的属性,因为作为$this->addError()的第一个元素,您需要将属性名称传递为字符串,其中' _fields '是可以的,但' _fields [name]'将不起作用。因此,您还需要找到一种在出现错误时返回错误的方法。属性标签和提示也是同样的问题。

相关内容

  • 没有找到相关文章