我正在尝试将表单中的临时数据传递给我的模型。我的表单中有隐藏数据,但它没有从我的模型中获取任何值。
我的表单是
<?php echo $form->hiddenField($model, 'fieldName'); ?>
<?php echo $form->labelEx($model,'name'); ?>
<?php echo $form->textField($model,'name'); ?>
<?php echo $form->error($model,'name'); ?>
我使用JQuery输入隐藏字段的数据,然后我继续验证我的表单。
public function rules()
{
return array(
array('name, email, subject, phone, body', 'required','message' => '{attribute} Required'),
array('resume', 'file', 'types'=>'txt,pdf,doc,docx', 'maxSize'=>2097152, 'tooLarge'=>'File has to be smaller than 2MB','allowEmpty'=>false),
array('email', 'email'),
);
}
每当验证遇到异常时,它都会返回我输入的所有$_POST
数据,但我从隐藏表单发送的数据除外。
如何获取$_POST
以便它返回到隐藏的表单?
答案 0 :(得分:0)
'fieldName'是模型/表的一部分吗?如果没有,它只是模型中声明的自定义属性,请尝试将其设置为“安全”
答案 1 :(得分:0)
第一: 属性必须在模型中声明为公开。
public $fieldName;
使用安全模式 数组添加模型 模型字段('fieldName','safe') :
public function rules()
{
return array(
array('name, email, subject, phone, body', 'required','message' => '{attribute} Required'),
array('resume', 'file', 'types'=>'txt,pdf,doc,docx', 'maxSize'=>2097152, 'tooLarge'=>'File has to be smaller than 2MB','allowEmpty'=>false),
array('email', 'email'),
array('fieldName','safe'), // Add the custom field to 'safe' mode.
);
}