Yii使用ajax验证显示错误messagebox的解决方法
这篇文章主要介绍了Yii使用ajax验证显示错误messagebox的解决方法,可以自行设置Ajax提示信息的方式,是非常实用的技巧,需要的朋友可以参考下
本文实例讲述了Yii使用ajax验证显示错误messagebox的解决方法。分享给大家供大家参考。具体方法如下:
yii 自带了ajax 表单验证 这个可能有些朋友不知道了,,但我今天在使用yii 自带的ajax 表单验证 时碰到一些问题,下面我来整理例子与大家参考一下。
在Yii中,可以利用ajax执行一个action,但是这个action有时候会有弹出错误讯息的需求,这时候的处理方式如下
基本思想
利用exception,比如:
复制代码 代码如下:
throw new CHttpException(403, 'You are not authorized to perform this action.');
如果这个异常是 CHttpException 或者 YII_DEBUG 为 true的时候,错误消息可以通过CErrorHandler::errorAction来显示。在yiic默认生成的代码中,就是通过在 config/main.php 中加入如下代码来实现的
复制代码 代码如下:
'errorHandler' => array(
'errorAction' => 'site/error',),
但是在Yii 1.1.9 以上,ajax请求抛出的exceptions是通过CApplication::displayException()来显示的。这使得我们无法定制消息的显示方式。
CGridView 删除请求抛出异常的话就是这个样子,(YII_DEBUG 为 true )
Yii 1.1.9 检查ajax请求的逻辑被移除了,所以现在即便是ajax的异常也是通过CErrorHandler::errorAction处理的。
这样ajax的消息就可以DIY了。
示例
通过如下代码
复制代码 代码如下:
public function actionError(){
if($error=Yii::app()->errorHandler->error)
{
if(Yii::app()->request->isAjaxRequest)
echo $error['message'];
else
$this->render('error', $error);
}
}
后来又发现一个站长分享了一段代码
model:
复制代码 代码如下:
public function rules()
{
// NOTE: you should only define rules for those attributes that
// will receive user inputs.
return array(
array('content, author, email', 'required'),
array('author, email, url', 'length', 'max'=>128),
array('email','email'),
array('url','url'),
);
}
controller:
复制代码 代码如下:
if(isset($_POST['ajax']) && $_POST['ajax']==='comment-form')
{
echo CActiveForm::validate($model);
Yii::app()->end();
}
view:
复制代码 代码如下:
beginWidget('CActiveForm',array(
'id'=>'post-form', //这是表单id
'enableAjaxValidation'=>true, //这里一定写 true
)); ?>
echo $form->labelEx($model,'title');
?>
textField($model,'title',array('size'=>80,'maxlength'=>128));
?>
echo $form->error($model,'title');
?>
echo $form->labelEx($model,'content');
?>
echo CHtml::activeTextArea($model,'content',array('rows'=>10, 'cols'=>70));
?>
You may use Markdown syntax.
echo $form->error($model,'content');
?>
$this->endWidget();
?>
这样好像很好的解决了yii ajax显示问题。
希望本文所述对大家基于Yii框架的PHP程序设计有所帮助。

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제











프린터를 사용할 때 작업을 완료할 수 없습니다(오류 0x00000771) 등의 오류 메시지가 표시되면 프린터 연결이 끊어졌기 때문일 수 있습니다. 이런 경우에는 다음 방법을 통해 문제를 해결할 수 있습니다. 이 기사에서는 Windows 11/10 PC에서 이 문제를 해결하는 방법에 대해 설명합니다. 전체 오류 메시지는 다음과 같습니다. 작업을 완료할 수 없습니다(오류 0x0000771). 지정된 프린터가 삭제되었습니다. Windows PC에서 0x00000771 프린터 오류 수정 작업을 완료할 수 없는 프린터 오류(오류 0x0000771)를 수정하려면 지정된 프린터가 Windows 11/10 PC에서 삭제되었습니다. 다음 해결 방법을 따르십시오. 인쇄 스풀을 다시 시작하세요.

목차 해결 방법 1 해결 방법 21. Windows 업데이트의 임시 파일 삭제 2. 손상된 시스템 파일 복구 3. 레지스트리 항목 보기 및 수정 4. 네트워크 카드 IPv6 끄기 5. WindowsUpdateTroubleshooter 도구를 실행하여 복구 6. 방화벽 끄기 및 기타 관련 바이러스 백신 소프트웨어. 7. WidowsUpdate 서비스를 닫습니다. 해결 방법 3 해결 방법 4 Huawei 컴퓨터에서 Windows 업데이트 중 "0x8024401c" 오류가 발생함 증상 문제 원인 해결 방법 아직도 해결되지 않았습니까? 최근 시스템 취약점으로 인해 웹 서버를 업데이트해야 하는데, 서버에 로그인하면 업데이트 시 오류 코드 0x8024401c가 표시됩니다.

1. WeChat을 연 후 검색 아이콘을 클릭하고 WeChat 팀을 입력한 후 아래 서비스를 클릭하여 들어갑니다. 2. 입력 후 좌측 하단의 셀프 서비스 도구 옵션을 클릭하세요. 3. 클릭 후, 위 옵션 중 보조검증 차단해제/이의제기 옵션을 클릭해 주세요.

LinuxOops: 이 오류의 의미에 대한 자세한 설명, 특정 코드 예제가 필요합니다. LinuxOops란 무엇입니까? Linux 시스템에서 "죄송합니다"는 커널의 심각한 오류로 인해 시스템이 충돌하는 상황을 의미합니다. 죄송합니다. 실제로는 치명적인 오류가 발생할 때 시스템을 중지하고 개발자가 문제를 진단하고 수정할 수 있도록 관련 오류 정보를 인쇄하는 커널 충돌 메커니즘입니다. 이런 문제는 일반적으로 커널 공간에서 발생하며 사용자 공간 응용 프로그램과는 아무 관련이 없습니다. 커널이 만났을 때

제목: Oracle 오류 3114 분석: 원인 및 해결 방법 Oracle 데이터베이스를 사용할 때 다양한 오류 코드가 자주 발생하며, 그 중 오류 3114가 비교적 일반적인 오류입니다. 이 오류는 일반적으로 데이터베이스 링크 문제와 관련되어 있으며, 이로 인해 데이터베이스에 액세스할 때 예외가 발생할 수 있습니다. 이 문서에서는 Oracle 오류 3114를 해석하고 원인을 논의하며 오류를 해결하는 구체적인 방법과 관련 코드 예제를 제공합니다. 1. 오류 3114 정의 Oracle 오류 3114 통과

표시 오류는 Xiangxiang Fuzhai 앱에서 발생할 수 있는 문제입니다. 일부 사용자는 Xiangxiang Fuzhai 앱에서 오류가 표시되는 이유를 잘 모르겠습니다. 이는 네트워크 연결 문제, 너무 많은 백그라운드 프로그램, 잘못된 등록 정보 등이 원인일 수 있습니다. 사용자를 위한 앱 표시 오류 해결 방법에 대한 편집자의 소개입니다. 관심 있는 사용자는 꼭 들러보세요! Xiangxiang Fuzhai 앱에 오류 답변이 표시되는 이유: 네트워크 연결 문제, 너무 많은 백그라운드 프로그램, 잘못된 등록 정보 등 세부 정보: 1. [네트워크 문제] 해결책: 장치 연결 네트워크 상태를 확인하고 다시 연결하거나 다른 네트워크 연결을 선택하십시오. 사용할 수 있습니다. 2. [백그라운드 프로그램이 너무 많습니다.] 해결 방법: 실행 중인 다른 프로그램을 닫고 시스템을 해제하면 소프트웨어 실행 속도가 빨라질 수 있습니다. 3. [잘못된 등록정보

PHP8은 최신 버전의 PHP로 프로그래머에게 더 많은 편의성과 기능을 제공합니다. 이 버전은 보안과 성능에 특별히 중점을 두고 있으며 주목할만한 새로운 기능 중 하나는 확인 및 서명 기능이 추가된 것입니다. 이 문서에서는 이러한 새로운 기능과 그 용도에 대해 자세히 살펴보겠습니다. 확인 및 서명은 컴퓨터 과학에서 매우 중요한 보안 개념입니다. 이는 전송된 데이터가 완전하고 확실한지 확인하는 데 자주 사용됩니다. 온라인 거래 및 민감한 정보를 처리할 때 확인 및 서명이 더욱 중요해집니다. 누군가가 데이터를 조작할 수 있다면 잠재적으로 그럴 수 있기 때문입니다.
![스트리밍 서버에서 오류 발생 [해결됨]](https://img.php.cn/upload/article/000/465/014/171133083740341.jpg?x-oss-process=image/resize,m_fill,h_207,w_330)
스트리밍 서버에서 컴퓨터에 오류가 발생하고 있나요? Stremio는 영화, TV 프로그램, 라이브 TV 등을 스트리밍하고 시청하는 데 사용할 수 있는 크로스 플랫폼 비디오 스트리밍 서비스입니다. 일부 사용자는 애플리케이션을 실행하려고 할 때 이 오류가 발생한다고 보고했습니다. 인터넷 문제, 서버 문제 등 다양한 상황에서 오류가 발생할 수 있습니다. 이 오류는 웹 버전의 Stremio를 사용할 때도 발생할 수 있습니다. 바이러스 백신 소프트웨어나 방화벽의 간섭으로 인해 오류가 발생할 수도 있습니다. 어떤 경우이든 이 가이드를 통해 문제를 해결할 수 있습니다. 스트리밍 서버에서 오류 발생 Windows에서 Stremio 응용 프로그램을 실행하는 동안 "Stremio Streaming Server에서 오류 발생"이 발생할 수 있습니다.
