将临时数据传递回Yii中的隐藏字段

时间:2013-09-30 08:57:22

标签: php forms yii hidden

我正在尝试将表单中的临时数据传递给我的模型。我的表单中有隐藏数据,但它没有从我的模型中获取任何值。

我的表单是

<?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以便它返回到隐藏的表单?

2 个答案:

答案 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.
    );
}