《PHP學習:Yii框架表單提交驗證功能分析》要點:
本文介紹了PHP學習:Yii框架表單提交驗證功能分析,希望對您有用。如果有疑問,可以聯系我們。
相關主題:YII框架
PHP編程本文實例講述了Yii框架表單提交驗證功能.分享給大家供大家參考,具體如下:
PHP編程一、前端提交的三種方式
PHP編程前面已經提出,表單提交一共只有三種方式.
PHP編程1. 前端原生html
PHP編程(1)原生html標簽
PHP編程首先,直接使用html標簽的input,a等;
其次,使用css進行布局.
再次,使用js或jquery方式驗證
最后,提交(get/post/ajax,目前較多使用jquery提交).
注:該種方式由于較靈活,使用最多.
PHP編程(2)原生form
PHP編程js或jquery方式驗證,yii方式提交.
PHP編程相對靈活
PHP編程
<form ... onSubmit="return validationFunc">
...
</form>
<script type="text/javascript">
function validationFunc(){
//驗證邏輯
}
</script>
PHP編程批注:如果僅僅使用表單自帶的onsubmit驗證不夠,也可以采用第一種辦法.此時就不要使用form自帶的submit按鈕了.
PHP編程2,前端使用yii自帶widget
PHP編程(3)yii方式驗證、提交.
PHP編程① 自帶blog登陸表單
PHP編程
<?php
$form=$this->beginWidget('CActiveForm', array(
'id'=>'login-form',
'enableClientValidation'=>true,
'clientOptions'=>array(
'validateOnSubmit'=>true,
),
));
?>
PHP編程② 上傳用戶頭像時
PHP編程
<?php $form=$this->beginWidget('CActiveForm', array(
'id'=>'user-form',
'enableAjaxValidation'=>false,
'htmlOptions'=>array('enctype'=>'multipart/form-data'),
)); ?>
PHP編程③ 看到的一個例子
PHP編程
<?php $form=$this->beginWidget('CActiveForm',array(
'id'=>'login-from',
'enableAjaxValidation'=>true,
'action'=>'array('site/login'),
)
)
?>
PHP編程此時用到yii的表單驗證功能.需要model+controller+view配合使用.詳見:yii指南.
PHP編程Yii方式驗證、提交
PHP編程① 首先,在model的rules(){return array();}設置驗證規則
PHP編程② 其次,在view里使用errorMessage,label,field,error
PHP編程
<?php echo $form->labelEx($model,'author'); ?>
<?php echo $form->textField($model,'author',array('size'=>60,'maxlength'=>128)); ?>
<?php echo $form->error($model,'author'); ?>
PHP編程3,最后,在controller里
PHP編程使用
PHP編程
$model = new Post;
$model->attributes=$_POST['Post'];
PHP編程yii判斷提交方式
PHP編程
Yii::app()->request->isPostRequest
PHP編程效率比較:
PHP編程(1)效率最差;
(2)效率中等;
(3)效率最高.
PHP編程二、Yii在后端接收前端傳來值的兩種方式
PHP編程1,通過二維數組$_POST['ClassName']
PHP編程如果前端的表單是關于某一個model的,可以用此方法.使用較多.
PHP編程例如:
PHP編程
$model->attributes=$_POST['Post'];
$comment->attributes=$_POST['Comment'];
PHP編程還可以添加:
PHP編程
$comment->post_id=$this->id;
PHP編程強制數據提交
PHP編程
$model->save(false)
PHP編程2,獲取get或post請求的值$this->request->getParam('key');
PHP編程(1)form表單提交
PHP編程前端:
PHP編程
<form>
<input type="text" name="belongs_to" />
<input type="submit" value="提交" />
</form>
PHP編程后端:
PHP編程
$this->request->getParam('belongs_to');
PHP編程(2)jquery的post提交
PHP編程
$this->request->getParam('key1');
PHP編程更多關于Yii相關內容感興趣的讀者可查看本站專題:《Yii框架入門及常用技巧總結》、《php優秀開發框架總結》、《smarty模板入門基礎教程》、《php面向對象程序設計入門教程》、《php字符串(string)用法總結》、《php+mysql數據庫操作入門教程》及《php常見數據庫操作技巧匯總》
PHP編程希望本文所述對大家基于Yii框架的PHP程序設計有所幫助.
轉載請注明本頁網址:
http://www.snjht.com/jiaocheng/2016.html