[英]Yii notify user about constraint violation
我正在使用Yii,並且我想在保存數據庫時通知用戶有關約束違反的信息。 但是我的方法不能解決問題。 這是我的代碼。
那個行動 :
public function actionPublierAContact($id){
$model = new PublierAContact;
if(isset($_POST['PublierAContact'])){
$model->setAttributes($_POST['PublierAContact']);
try{
$model->save();
}catch(CException $e){
Yii::app()->clientScript->registerScript('publierac', 'alert("Deja publié")');
}
$this->redirect(array('view', 'id' => $id));
}
$this->render('publieracontact', array('model'=> $model, 'id' => $id));
}
但是,這樣,我無法在瀏覽器中看到alert
框。 有人可以幫助我快速修復它嗎?
代替捕獲異常,構建約束檢查作為驗證。 然后,它可以更輕松地在表單上顯示模型錯誤。
我對您的代碼進行了微小的更改。 嘗試通過更改$model->setAttributes( $_POST['PublierAContact'] );
到$model->setAttributes = $_POST['PublierAContact'];
並在保存后redirect
實例。 可以嘗試如下...
public function actionPublierAContact($id){
$model = new PublierAContact;
if(isset($_POST['PublierAContact'])){
$model->setAttributes = $_POST['PublierAContact'];
try{
if($model->save()){
$this->redirect(array('view', 'id' => $id));
}
}catch(CException $ex){
Yii::app()->clientScript->registerScript('publierac', 'alert("Deja publié")');
}
}
$this->render('publieracontact', array('model'=> $model, 'id' => $id));
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.