PDA

View Full Version : فیلتر کردن ورودی ها در Yii



amin7x
شنبه 27 مهر 1392, 19:16 عصر
سلام
من تازه با قدرت Yii آشنا شدم یک سوال داشتم.
میخواستم بدونم نیازی هست توی Yii ورودی ها رو فیلتر کنیم؟
ممنون

mohsen_31369
یک شنبه 28 مهر 1392, 13:49 عصر
با سلام
منظورت از فیلتر کردن اعتبار سنجی داده ها است ؟
اگه برای درج داده ها در دیتابیس از activeRecord استفاده می کنی نیازی به اعتبار سنجی داده ها نمی باشد . البته در model باید نوع داده ها به درستی تعیین شود


/**
* @return array validation rules for model attributes.
*/
public function rules()
{
// NOTE: you should only define rules for those attributes that
// will receive user inputs.
return array(
array('name, title, body', 'required'),
array('status', 'numerical', 'integerOnly'=>true),
array('name', 'length', 'max'=>100),
);
}


بعد وقتی در کنترل خواستی دادها رو ذخیره کنی قبل از ذخیره Yii داده ها رو validate می کنه



if(isset($_POST['ContentCatg']))
{
$model->attributes=$_POST['ContentCatg'];
if($model->save())
$this->redirect(array('index'));
}


اگر هم نمی خوای داده ها رو ذخیره کنی فقط می خوای آنها رو اعتبار سنجی کنی می تونی از متد validate استفاده کنی.


if(!$model->validate())
print_r($model->getErrors());