>我正在尝试验证 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(.但是在提供名称字段后,它会给出一个错误。
如果我为request
做var_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]">