菜单

Yii框架form表单用法实例

2019年7月18日 - 皇家赌场系统

static public function getAllCategory(){
  return CHtml::listData(self::model()->findAll(), ‘id’, ‘name’);
}

对此view层数据的解耦,抛开checkBoxList,用dropDownList来讲比如:

Category.php model中有办法:

复制代码 代码如下:

2、注明证实法规

正文实例陈诉了Yii框架form表单用法。分享给我们供大家参谋。具体方法如下:

二、form表单更新数据时候选值难题

1、定义模型类

在编写表单所需的 HTML
代码此前,大家应有先显著出自最后用户输入的数量的类型,以及那一个多少应符合什么的平整。模型类可用于记录那么些音信。正如模型章节所定义的,模型是保存用户输入和认证那个输入的着力岗位。

class LoginForm extends CFormModel
{
public $username;
public $password;
public $rememberMe=false;
}

在那之中的参数:

梦想本文所述对大家基于Yii框架的PHP程序设计有着帮助。

使用表单

‘cids’=>array(self::HAS_MANY,’Relationships’,’post_id’),

rules() 重回的各样准则必须是以下格式:

复制代码 代码如下:

LoginForm 中定义了四个属性: $username, $password 和
$rememberMe。他们用于保存用户输入的用户名和密码,还大概有用户是或不是想记住他的记名的选项。由于
$rememberMe 有贰个暗中认可的值
false,相应的选项在初始化展现在登录表单中时将是未勾选状态。

一、创设模型

在于使用用户所输入数据的措施,大家得以创设两体系型的模型。借使用户输入被访谈、使用然后屏弃,大家应有创造二个表单模型;
若是用户的输入被访问后要封存到数据库,大家应利用八个Active
Record。两连串型的模子分享同样的基类 CModel
,它定义了表单所需的通用接口。

复制代码 代码如下:

array(‘AttributeList’, ‘Validator’, ‘on’=>’ScenarioList’,
…附加选项)

大家将那几个成员变量称为特性(attributes)并不是性质(properties),以界别于常见的性质(properties)。性格(attribute)是三个根本用以存储来自用户输入或数据库数据的特性(propertiy)。

<div class=’row’>
  <?php echo $form->labelEx($model,’cid’); ?>
  <?php echo $form->checkBoxList($model,’cid’,
    Category::getAllCategory(),array(
     ‘style’=>’display:inline;’,
     ‘separator’=>”<br />n”,
     ‘template’=>'{input}{label}’,
     ‘labelOptions’=>array(‘style’=>’display:inline’)));
  ?>
  <?php echo $form->error($model,’cid’); ?>
</div>

举个例子说未来本身要翻新一条数据,那条数据的栏目有五个,假诺该作品id是21,是属于四个栏目,那么在relationship表中的数据就活该是

AttributeList(天性列表)是急需经过此准绳验证的性状列表字符串,各样特性名字由逗号分隔;
Validator(验证器) 钦定要实行验证的门类;
on 参数是可选的,它钦定此法则应被应用到的地方列表;
附加选项 是贰个名值对数组,用于开头化相应验证器的属性值。

1=>分类1,2=>分类2,展现层(view)中可能是”=>请选用,1=>分类1,2=>分类2。通过此,你想到了如何?
有关Behavior是那般的,Behavior只是一种减轻方案,稍后再说。近期你要通晓的是,你假使要为Model提供四个天性(像cid[]),须要挂念哪几点?(提醒:要与CActiveRecord接地气)

比如创立为一个表单模型:

  1. 成立用于表现所要搜聚数据字段的模型类。
  2. 开创二个调控器动作,响应表单提交。
  3. 在视图脚本中开创与调控器动作相关的表单。

复制代码 代码如下:

id post_id category_id
1    21          1
2    21          2

在 Yii 中管理表单时,常常需求以下步骤:

复制代码 代码如下:

你恐怕感兴趣的稿子:

class LoginForm extends CFormModel
{
public $username;
public $password;
public $rememberMe=false;
private $_identity;
public function rules()
{
return array(
array(‘username, password’, ‘required’), //username 和 password
为必填项
array(‘rememberMe’, ‘boolean’), //rememberMe 应该是叁个布尔值
array(‘password’, ‘authenticate’), //password
应被申明(authenticated)
);
}
public function authenticate($attribute,$params)
{
$this->_identity=new
UserIdentity($this->username,$this->password);
if(!$this->_identity->authenticate())
$this->addError(‘password’,’错误的用户名或密码。’);
}
}

复制代码 代码如下:

复制代码 代码如下:

万一用户提交了她的输入,模型被填充,大家就必要在应用前确定保障用户的输入是有效的。那是透过将用户的输入和一多元法规实行验证完结的。大家在
rules() 方法中内定这么些验证法规,此办法应再次回到三个平整配置数组。

其间id是流水,该小说的category是1和2.
该栏目标多少自己经过创建Relationship.php的APRADO能够收获,
_from中表单小编是那样写的:

题目是自己在_form
中不清楚要肿么将数据填进去?正是自小编在更新数据的时候,栏目应该选中才对。

category表和post表是多对多,有其中等表relationships,分别记着category_id和post_id
Post.php model中 有关系

相关文章

发表评论

电子邮件地址不会被公开。 必填项已用*标注

网站地图xml地图