我在模型中设置了一个字段,但我看到用户将其保存为空字符串(即。''
)。当我测试它时,我确实收到了“不能为空白”的消息,所以不知道将来如何防止这种情况。我是否必须在规则中指定所有场景(例如,“插入”、“更新”)?顺便说一句,我尝试更新该字段,但它不允许我将其保存为空(我什至尝试使用空格)。
这些是应用于字段(模型)的规则:
public function rules()
{
return array(
array('field', 'required'),
array('field', 'length', 'max'=>4096),
array('field', 'safe', 'on'=>'search'),
);
}
对于@RiggsFolly :) 控制器动作:
public function actionUpdate($id)
{
$model = Model::model()->findByPk($id);
$formData = Yii::app()->request->getPost('Model');
if ($formData)
{
$model->attributes = $formData;
$model->save();
}
$this->render('update',array(
'model'=>$model
));
}
...和观点:
<?php $form=$this->beginWidget('CActiveForm', array(
'id'=>'form'
)); ?>
<?php echo $form->textArea($model,'text',array( 'rows'=>5 ')); ?>
<?php $this->endWidget(); ?>
你能想象这个字段可能在数据库中保存一个空字符串的任何场景吗?