我有一个带有两个输入文本字段的表单:
<input id="ModelName_test_0" name="ModelName[test][0]" type="text">
<input id="ModelName_test_1" name="ModelName[test][1]" type="text">
这些输入字段使用以下命令生成:
<?php echo $form->textField($model,'test[0]'); ?>
<?php echo $form->textField($model,'test[1]'); ?>
现在,当我提交表单时,我会看到 POST 请求中的值。但是,当表单提交失败时,我无法将值返回到输入字段中。打印模型显示 $test 没有值;- 这是因为 $test 是表单中的数组吗?
即使在验证之后,所有值仍然分配给变量:
if($model->validate()) {
echo "<pre>";
print_r($_POST);
return;
}
这将返回:
[ModelName] => Array
(
[test] => Array
(
[0] => myFirstInputField
[1] => mySecondInputField
)
)
所以这些值在 POST 中,但在验证失败后它们消失了,我得到空变量:
[ModelName] => Array
(
[test] =>
)
变量test在验证规则中被声明为安全的。
我想要实现的是:
如果验证失败,将输入的值放回适当的输入文本字段中。
任何朝着正确方向的指针都会有所帮助:)