Yii表单模型使用及以数组形式提交表单数据_PHP教程
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了Yii表单模型使用及以数组形式提交表单数据_PHP教程,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2361字,纯文字阅读大概需要4分钟。
内容图文
按Yii文档里的描述,Yii在处理表单的一般过程是:在刚刚的一个小项目里,想使用ajax提交表单信息并验证保存,又不想用隐藏iframe来做无刷新提交,并且action中能够用到模型类的校验方法,就想到使用表单数组提交的方式,举个例子:
form代码:
提交后可以直接使用 $_POST['arr'] 来获取提交的数据,$_POST['arr'] 为:
<span Array
<span ( [0] =><span a [1] =><span b [2] =><span c )
同理,如果使用以下form提交:
$_POST['arr'] 为:
<span Array<span ( [3] =><span a [6] =><span b [8] =><span c )
当然也能提交二维数组:
$_POST['arr'] 为:
<span Array<span ( [0] => <span Array<span ( [name1] =><span a ) [1] => <span Array<span ( [name2] =><span b ) [2] => <span Array<span ( [name3] =><span c ) )
这里有一个问题,如果不设置第一个子数组的key,在生成数组时会将每个值顺序在arr中添加,如果想将信息保存在一个array中,添加一个key值即可,如下:
$_POST['arr'] 为:
<span Array<span ( [a] => <span Array<span ( [name1] =><span a1 [value1] =><span a2 ) [b] => <span Array<span ( [name2] =><span b1 [value2] =><span b2 ) )
下面贴一下用ajax提交表单并且用yii表单模型验证的示例,首先是模型类部分,只有最简单的校验方法:
<?<span php <span class LandingForm <span extends<span CFormModel { <span public <span $landing_title<span ; <span public <span $landing_content<span ; <span public <span $landing_position<span ; <span public <span function<span rules() { <span return <span array<span ( <span array('landing_title, landing_content', 'required'), <span array('landing_position', 'default', 'value'=>''),<span ); } }
发现个比较有意思的,就是模型类在设置参数校验的方法时,需要对每一个public参数都设置规则,如果有未设置规则的参数,在用$_POST中的表单值为模型赋值后,未设置规则的参数值将为空
action中获取表单提交的参数并且校验:
<span $model = new LandingForm;
$model->attributes = <span $_POST['form'<span ]; <span if(<span $model-><span validate()){ <span $info = <span $model-><span attributes; ...<span }
...
最后是前端提交表单部分的代码,用的jquery:
<span var info = <span new<span Object(); info = { 'form[landing_title]'<span : landing_title, 'form[landing_content]'<span : landing_content, 'form[landing_position]'<span : landing_position, }; <span var url = "..."<span ; $.post(url, info, <span function<span (rst){ ... });
http://www.bkjia.com/PHPjc/760669.htmlwww.bkjia.comtruehttp://www.bkjia.com/PHPjc/760669.htmlTechArticle按Yii文档里的描述,Yii在处理表单的一般过程是: 在刚刚的一个小项目里,想使用ajax提交表单信息并验证保存,又不想用隐藏iframe来做无...
内容总结
以上是互联网集市为您收集整理的Yii表单模型使用及以数组形式提交表单数据_PHP教程全部内容,希望文章能够帮你解决Yii表单模型使用及以数组形式提交表单数据_PHP教程所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。