CActiveForm验证机制 服务器端/客户端/ajax验证
来源:互联网 发布:安徽中青旅招聘美工 编辑:程序博客网 时间:2024/05/17 07:14
CActiveForm实际上是对Chtml类的封装,它与Chmtl不同的地方是CActiveForm提供了验证机制,有三种:
服务器端/客户端/ajax验证
转载于:
上帝的眼泪的博客 http://601502546.blog.163.com/blog/static/25961076201303195752896/
基本表单: <?php $form=$this->beginWidget('CActiveForm', array( 'id'=>'contact_form', 'enableAjaxValidation'=>true//是否是ajax验证//'enableClientValidation'=>true,//是否客户端验证 //'action'=>'site/contact', //'method'=>'get', ) ); ?> <p class="note">Fields with <span class="required">*</span> are required.</p> <div class="row"> <?php echo $form->labelEx($model,'name'); ?> <?php echo $form->textField($model,'name');?> <?php //单独显示错误信息 echo $form->error($model,'name'); ?> </div> <div class="row"> <?php echo $form->labelEx($model,'email'); ?> <?php echo $form->textField($model,'email'); ?> <?php //单独显示错误信息 echo $form->error($model,'email'); ?> </div> <div class="row"> <?php echo $form->labelEx($model,'subject'); ?> <?php echo $form->textField($model,'subject',array('size'=>60,'maxlength'=>128)); ?> </div> <div class="row"> <?php echo $form->labelEx($model,'body'); ?> <?php echo $form->textArea($model,'body',array('rows'=>6, 'cols'=>50)); ?> </div> <?php $model -> name = 0; echo $form->radioButtonList($model,'name', array('1'=>'Male','0'=>'Female'), array('separator'=>' ','labelOptions'=>array('class'=>'')) ) ?> <div class="row"> <?php echo $form->labelEx($model,'label:'); ?> <?php $model ->name = array(1,2,3,4);//设定checkbox的默认值,其实应该在controller里面设定最好,radio,select的设定方法和这个一样 echo $form->checkBoxList($model,'name', array('1'=>'Football','2'=>'Music','3'=>'Game','4'=>'basketball'), array('separator'=>' ','labelOptions'=>array('class'=>'mylabel')) ) ?> </div> <?php if(extension_loaded('gd')): ?> <div class="row"> <?php echo $form->labelEx($model,'verifyCode'); ?> <div> <?php $this->widget('CCaptcha'); ?> <?php echo $form->textField($model,'verifyCode'); ?> </div> <div class="hint">Please enter the letters as they are shown in the image above. <br/>Letters are not case-sensitive.</div> </div> <?php endif; ?> <div class="row submit"> <?php echo CHtml::submitButton('Submit'); ?> </div> //总体显示错误信息 <?php echo $form->errorSummary($model); ?><?php $this->endWidget(); ?>1、如果开启ajax验证在controller端实现代码: public function actionContact() { $model=new ContactForm; //ajax validation if(isset($_POST['ajax']) && $_POST['ajax']==='contact_form') { echo CActiveForm::validate($model); Yii::app()->end(); } if(isset($_POST['ContactForm'])) { $model->attributes=$_POST['ContactForm']; if($model->validate())//服务器端验证 { $headers="From: {$model->email}\r\nReply-To: {$model->email}"; mail(Yii::app()->params['adminEmail'],$model->subject,$model->body,$headers); Yii::app()->user->setFlash('contact','Thank you for contacting us. We will respond to you as soon as possible.'); $this->refresh(); } } $this->render('contact',array('model'=>$model)); }
0 0
- CActiveForm验证机制 服务器端/客户端/ajax验证
- Yii --CActiveForm的Ajax数据验证
- Yii CActiveForm 客户端验证(enableClientValidation)和自定义验证
- 自定义ajax验证控件-客户端引用服务器端的验证
- 客户端表单验证&服务器端验证
- CustomValidator,客户端,服务器端验证
- 关于Ajax服务器端验证
- 自定义验证类(客户端和服务器端同时验证,支持Ajax验证)[开源]
- 服务器端验证TextBox 以及客户端验证控件
- 客户端不可信,服务器端也要做验证
- 表单的验证:客户端验证和服务器端验证
- serverlet07 表单的验证:客户端验证和服务器端验证
- 注册的验证包括客户端与服务器端
- struts的输入验证服务器端与客户端
- 安全测试--客户端和服务器端验证
- jquery validate (3) : ajax请求服务器端验证
- 服务器端验证
- CActiveForm表单验证,beginform属性添加class属性
- 用nginx+uwsgi+redis实现游戏GM聊天功能
- tomcat中使用spring框架并调用其bean的一些方法
- 删除ecshop分类URL静态重写地址中的b0
- 在一台电脑上开启多个Tomcat
- XML json map list转换
- CActiveForm验证机制 服务器端/客户端/ajax验证
- 第三章 函数的增长
- ListView中嵌套ViewPager事件冲突问题
- HDOJ 5318 The Goddess Of The Moon 矩阵快速幂
- POJ 1201 Intervals 差分约束
- 网络字节顺序和本机字节顺序小谈
- OC特有语法—@property
- Maven项目模板
- LeetCode(78) Subsets