本篇内容主要讲解“Yii框架如何使用形式”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Yii框架如何使用形式”吧!
创建模型
模型类<代码> EntryForm 代码>代表从用户那请求的数据,该类如下所示并存储在<代码>/EntryForm模型。php代码>文件中。请参考类自动加载章节获取更多关于类命名约定的介绍。
& lt; php ? , namespace app \模型; , use , Yii; use yii \基地\模型; , class EntryForm  extends 模型 { public 才能;$名称; public 才能;美元电子邮件; , public 才能;function 规则() {才能 ,,,return [ ,,,,,[[& # 39;名字# 39;,,& # 39;电子邮件# 39;],,& # 39;需要# 39;], ,,,,,(& # 39;电子邮件# 39;,,& # 39;电子邮件# 39;], ,,,); ,,} }
该类继承自Yii提供的一个基类Yii \基地\模型,该基类通常用来表示数据。
<代码> EntryForm> 代码类包含<代码>名称代码>和<代码> 代码>邮件两个公共成员,用来储存用户输入的数据。它还包含一个名为<代码>规则()代码>的方法,用来返回数据验证规则的集合。上面声明的验证规则表示:
- <李>
<代码>名称代码>和<代码>邮件> 代码值都是必须的
李> <李><代码>邮件> 代码的值必须满足邮件规则验证
李>如果你有一个处理用户提交数据的<代码> EntryForm> 代码对象,你可以调用它的验证()方法触发数据验证。如果有数据验证失败,将把hasErrors属性设为真,想要知道具体发生什么错误就调用getErrors。
& lt; php ? $ model =, new EntryForm ();=$模型→name & # 39;羌族# 39;;=$模型→email & # 39;坏# 39;; if ($模型→validate ()), {//,才能验证成功! },{else //才能,失败!//,才能使用,模型→美元getErrors(),获取错误详情 }
创建动作
下面你得在网站<代码> 代码>控制器中创建一个条目<代码> 代码>操作用于新建的模型。操作的创建和使用已经在说一声你好小节中解释了。
& lt; php ? , namespace 应用\控制器; , use , Yii; use , yii \ web \控制器; use 应用\ \ EntryForm模型; , class SiteController  extends 控制器 {//,才能…现存的代码…… , public 才能;function  actionEntry () {才能 ,,,model 美元;=,new EntryForm; , ,,,if (模型→美元负载(Yii:应用程序→美元请求→post()),,,,美元模型→validate ()), { ,,,,,//,验证,model 美元;收到的数据 , ,,,,,//,做些有意义的事,…… , ,,,,,return $ this→渲染(& # 39;entry-confirm& # 39;,,(& # 39;模型# 39;,=祝辞,$模型]); ,,,},{else ,,,,,//,无论是初始化显示还是数据验证错误 ,,,,,return $ this→渲染(& # 39;条目# 39;,,(& # 39;模型# 39;,=祝辞,$模型]); ,,,} ,,} }
该操作首先创建了一个<代码> EntryForm> 代码对象,然后尝试从<代码> $ _POST 代码>搜集用户提交的数据,由Yii的Yii \ web \要求::post()方法负责搜集。如果模型被成功填充数据(也就是说用户已经提交了HTML表单),操作将调用验证()去确保用户提交的是有效数据。
<强>信息:强>表达式<代码> Yii:: $应用代码>代表应用实例,它是一个全局可访问的单例。同时它也是一个服务定位器,能提供<代码>请求代码>,<代码>响应代码>,<代码> db> 代码等等特定功能的组件。在上面的代码里就是使用<代码> 代码>请求组件来访问应用实例收到的<代码> $ _POST> 代码数据。
引用>用户提交表单后,操作将会渲染一个名为<代码> entry-confirm> 代码的视图去确认用户输入的数据。如果没填表单就提交,或数据包含错误(译者:如电子邮件格式不对),<代码>条目代码>视图将会渲染输出,连同表单一起输出的还有验证错误的详细信息。
创建视图
最后创建两个视图文件<代码> entry-confirm 代码>和<代码> 代码>条目。他们会被刚才创建的代码> <代码>条目操作渲染。
<代码> entry-confirm 代码>视图简单地显示提交的姓名和电子邮件数据。视图文件应该保存在<代码>/网站/entry-confirm观点。php代码
Yii框架如何使用形式