Yii2 模型验证没有按预期工作



>我正在尝试验证 Yii2 框架中的简单表单。 模型的验证方法是 -

/**
* {@inheritdoc}
*/
public function rules()
{
return array(
array('name', 'required'),
// ... other rules
);
}

当我尝试提出请求时,它说 -

array(1) { ["name"]=> array(1) { [0]=> string(21) "Name cannot be blank." } }

但问题是我正在请求中发送名称字段 ( POST(.但是在提供名称字段后,它会给出一个错误。

如果我为requestvar_dump它向我显示名称字段在请求中。

这是请求数据和验证错误的var_dump

array(1) { ["name"]=> string(6) "distro" } array(1) { ["name"]=> array(1) { [0]=> string(21) "Name cannot be blank." } }

提前谢谢你。

如果我正确理解你的问题,你的问题就在于你的输入名称。 在Yii2 ActiveRecord所有数据都在模型名称数组中。例如:

您的模型名称是Users,当您使用 ActiveRecord 时,您的数据必须像这样发送到规则处理它:

{
'Users' => {
'username' => 'john_doe',
'fullname' => 'John Doe',
}
}

因此,请将您的 HTML 表单输入名称更改为:model_name[field_name]

喜欢这个:

<input type="text" name="Users[username]">

最新更新