《PHP編程:Yii使用ajax驗證顯示錯誤messagebox的解決方法》要點:
本文介紹了PHP編程:Yii使用ajax驗證顯示錯誤messagebox的解決方法,希望對您有用。如果有疑問,可以聯系我們。
本文實例講述了Yii使用ajax驗證顯示錯誤messagebox的解決辦法.分享給大家供大家參考.具體辦法如下:PHP應用
yii 自帶了ajax 表單驗證 這個可能有些朋友不知道了,但我今天在使用yii 自帶的ajax 表單驗證 時碰到一些問題,下面我來整理例子與大家參考一下.PHP應用
在Yii中,可以利用ajax執行一個action,但是這個action有時候會有彈出錯誤訊息的需求,這時候的處理方式如下PHP應用
基本思想PHP應用
利用exception,比如:
PHP應用
如果這個異常是 CHttpException 或者 YII_DEBUG 為 true的時候,錯誤消息可以通過CErrorHandler::errorAction來顯示.在yiic默認生成的代碼中,就是通過在 config/main.php 中加入如下代碼來實現的
PHP應用
但是在Yii? 1.1.9 以上,ajax哀求拋出的exceptions是通過CApplication::displayException()來顯示的.這使得我們無法定制消息的顯示方式.PHP應用
CGridView 刪除哀求拋出異常的話就是這個樣子,(YII_DEBUG 為 true )PHP應用
Yii 1.1.9 檢查ajax哀求的邏輯被移除了,所以現在即便是ajax的異常也是通過CErrorHandler::errorAction處理的.PHP應用
這樣ajax的消息就可以DIY了.PHP應用
示例PHP應用
通過如下代碼
PHP應用
后來又發現一個站長分享了一段代碼PHP應用
model:
PHP應用
??? <div class="row">
??????? <?php
?echo $form->labelEx($model,'title');
??>
??????? <?php echo $form->textField($model,'title',array('size'=>80,'maxlength'=>128));
??>
??????? <?php
?echo $form->error($model,'title');
??>
??? </div>PHP應用
??? <div class="row">
??????? <?php
?echo $form->labelEx($model,'content');
??>
??????? <?php
?echo CHtml::activeTextArea($model,'content',array('rows'=>10, 'cols'=>70));
??>
??????? <p class="hint">You may use <a target="_blank" >Markdown syntax</a>.</p>
??????? <?php
?echo $form->error($model,'content');
??>
??? </div>
?
<?php
$this->endWidget();
?>PHP應用
這樣好像很好的辦理了yii ajax顯示問題.PHP應用
希望本文所述對大家基于Yii框架的PHP程序設計有所贊助.PHP應用
歡迎參與《PHP編程:Yii使用ajax驗證顯示錯誤messagebox的解決方法》討論,分享您的想法,維易PHP學院為您提供專業教程。