0

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

我的表格是

<?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它,让它回到隐藏的形式?

4

2 回答 2

0

'fieldName' 是模型/表的一部分吗?如果不是并且它只是模型中声明的自定义属性,则尝试将其设置为“安全”

于 2013-09-30T09:02:36.337 回答
0

首先:该属性必须在模型中声明公共

public $fieldName;

使用安全模式array('fieldName','safe')添加Modelrules()字段:

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.
    );
}
于 2013-09-30T09:38:28.057 回答