本文实例讲述了Yii框架表单提交验证功能。分享给大家供大家参考,具体如下:

一、前端提交的三种方式
前面已经提出,表单提交一共只有三种方式。
1. 前端原生html
(1)原生html标签
首先,直接使用html标签的input,a等;
其次,使用css进行布局。
再次,使用js或jquery方式验证
最后,提交(get/post/ajax,目前较多使用jquery提交)。
注:该种方式由于较灵活,使用最多。
(2)原生form
js或jquery方式验证,yii方式提交。
相对灵活
<form ... onSubmit="return validationFunc">
...
</form>
<script type="text/javascript">
function validationFunc(){
//验证逻辑
}
</script>
批注:如果仅仅使用表单自带的onsubmit验证不够,也可以采用第一种办法。此时就不要使用form自带的submit按钮了。
2,前端使用yii自带widget
(3)yii方式验证、提交。
① 自带blog登陆表单
<?php
$form=$this->beginWidget('CActiveForm', array(
'id'=>'login-form',
'enableClientValidation'=>true,
'clientOptions'=>array(
'validateOnSubmit'=>true,
),
));
?>
② 上传用户头像时
<?php $form=$this->beginWidget('CActiveForm', array(
'id'=>'user-form',
'enableAjaxValidation'=>false,
'htmlOptions'=>array('enctype'=>'multipart/form-data'),
)); ?>
③ 看到的一个例子
<?php $form=$this->beginWidget('CActiveForm',array(
'id'=>'login-from',
'enableAjaxValidation'=>true,
'action'=>'array('site/login'),
)
)
?>
此时用到yii的表单验证功能。需要model+controller+view配合使用。详见:yii指南。
Yii方式验证、提交
① 首先,在model的rules(){return array();}设置验证规则
② 其次,在view里使用errorMessage,label,field,error
<?php echo $form->labelEx($model,'author'); ?>
<?php echo $form->textField($model,'author',array('size'=>60,'maxlength'=>128)); ?>
<?php echo $form->error($model,'author'); ?>
3,最后,在controller里
使用
$model = new Post; $model->attributes=$_POST['Post'];
yii判断提交方式
Yii::app()->request->isPostRequest
效率比较:
(1)效率最差;
(2)效率中等;
(3)效率最高。
二、Yii在后端接收前端传来值的两种方式
1,通过二维数组$_POST['ClassName']
如果前端的表单是关于某一个model的,可以用此方法。使用较多。
例如:
$model->attributes=$_POST['Post']; $comment->attributes=$_POST['Comment'];
还可以添加:
$comment->post_id=$this->id;
强制数据提交
$model->save(false)
2,获取get或post请求的值$this->request->getParam('key');
(1)form表单提交
前端:
<form> <input type="text" name="belongs_to" /> <input type="submit" value="提交" /> </form>
后端:
$this->request->getParam('belongs_to');
(2)jquery的post提交
$this->request->getParam('key1');
更多关于Yii相关内容感兴趣的读者可查看本站专题:《Yii框架入门及常用技巧总结》、《php优秀开发框架总结》、《smarty模板入门基础教程》、《php面向对象程序设计入门教程》、《php字符串(string)用法总结》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总》
希望本文所述对大家基于Yii框架的PHP程序设计有所帮助。
# Yii框架
# 表单
# 提交
# 验证
# Yii2创建表单(ActiveForm)方法详解
# Yii框架form表单用法实例
# yii2 modal弹窗之ActiveForm ajax表单异步验证
# YII2.0之Activeform表单组件用法实例
# Yii2基于Ajax自动获取表单数据的方法
# Yii2简单实现给表单添加验证码的方法
# yii用户注册表单验证实例
# yii form 表单提交之前JS在提交按钮的验证方法
# Yii中表单用法实例详解
# Yii 框架使用Forms操作详解
# 自带
# 三种
# 较多
# 程序设计
# 后端
# 相关内容
# 还可以
# 最多
# 两种
# 可以用
# 感兴趣
# 给大家
# 时就
# 更多关于
# 所述
# 第一种
# 面向对象
# 该种
# 操作技巧
相关文章:
学生网站制作软件,一个12岁的学生写小说,应该去什么样的网站?
如何零成本快速生成个人自助网站?
高性价比服务器租赁——企业级配置与24小时运维服务
如何在IIS中新建站点并配置端口与IP地址?
建站主机如何选?性能与价格怎样平衡?
头像制作网站在线观看,除了站酷,还有哪些比较好的设计网站?
如何通过NAT技术实现内网高效建站?
赚钱网站制作软件,建一个网站怎样才能赚钱?是如何盈利的?
如何通过网站建站时间优化SEO与用户体验?
如何在VPS电脑上快速搭建网站?
c# Task.ConfigureAwait(true) 在什么场景下是必须的
如何通过主机屋免费建站教程十分钟搭建网站?
如何通过FTP服务器快速搭建网站?
大型企业网站制作流程,做网站需要注册公司吗?
如何设计高效校园网站?
合肥做个网站多少钱,合肥本地有没有比较靠谱的交友平台?
国美网站制作流程,国美电器蒸汽鍋怎么用官方网站?
如何优化Golang Web性能_Golang HTTP服务器性能提升方法
如何高效完成独享虚拟主机建站?
如何在云主机上快速搭建网站?
Java解压缩zip - 解压缩多个文件或文件夹实例
小型网站建站如何选择虚拟主机?
如何通过多用户协作模板快速搭建高效企业网站?
如何登录建站主机?访问步骤全解析
建站之星安装后如何自定义网站颜色与字体?
宝塔面板创建网站无法访问?如何快速排查修复?
建站主机数据库如何配置才能提升网站性能?
广州网站制作公司哪家好一点,广州欧莱雅百库网络科技有限公司官网?
枣阳网站制作,阳新火车站打的到仙岛湖多少钱?
Python如何创建带属性的XML节点
如何在建站之星网店版论坛获取技术支持?
如何选择高性价比服务器搭建个人网站?
如何在Golang中使用replace替换模块_指定本地或远程路径
如何用5美元大硬盘VPS安全高效搭建个人网站?
5种Android数据存储方式汇总
桂林网站制作公司有哪些,桂林马拉松怎么报名?
如何通过山东自助建站平台快速注册域名?
官网自助建站平台指南:在线制作、快速建站与模板选择全解析
微网站制作教程,不会写代码,不会编程,怎么样建自己的网站?
如何快速生成专业多端适配建站电话?
大连网站设计制作招聘信息,大连投诉网站有哪些?
广德云建站网站建设方案与建站流程优化指南
如何在阿里云ECS服务器部署织梦CMS网站?
制作旅游网站html,怎样注册旅游网站?
香港网站服务器数量如何影响SEO优化效果?
如何在香港服务器上快速搭建免备案网站?
定制建站价位费用解析与套餐推荐全攻略
如何用VPS主机快速搭建个人网站?
建站之星后台密码如何安全设置与找回?
太平洋网站制作公司,网络用语太平洋是什么意思?
*请认真填写需求信息,我们会在24小时内与您取得联系。