yii框架学习之---表单

本文介绍了在Yii框架中如何创建和使用表单,重点讲解了ActiveForm类、ActiveField对象的使用,以及Html帮助类在构建表单过程中的应用。通过ActiveField实例创建表单元素,利用属性的验证规则进行数据验证,同时解释了块赋值的概念,帮助理解模型与表单元素间的关联。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

2.5表单

1.表单的创建

1.在Yii中主要是通过yii\widgets\ActiveForm类来创建表单(表单小部件)。

2.ActiveForm::begin()不仅标志着表单的开始,也同时创建了一个表单实例。

<?php $form=ActiveForm::begin();?> //$form是表单实例
<?= $form->field($model,'title')?>
...
<?php ActiveForm::end();?>

3.放在ActiveForm::begin()与ActiveForm::end()之间的所有内容都被包裹在HTML的<form>标签中。

4.中间是通过调用ActiveForm::field()方法创建ActiveField实例,这个实例会创建表单元素与元素的标签,以及对应的JavaScript应证。 

5.每个ActiveField都有对应的模型属性,input输入框的name属性会自动地根据属性名创建;

   同时还会用属性的验证规则来验证用户的数据输入。

图片截取自:魏曦教你学Yii2.0优酷视频.

 2.ActiveField对象的使用

由第一节的知识点可以知道,对于表单如何使用的问题其实就是问:

ActiveField类如何使用的问题。

//举个例子
<?= $form->field($model,'body')->textarea(['rows'=>3]) =?>
//$form->field($model,'body')创建了一个ActiveField对象;
//ActiveField的方法textarea()创建了3行的输入框;

3.Html帮助类

在表单的开始和结束标签之间还有一些和模型对象没有关系的格外HTML标签,比如submitButton我们可以:

  • 使用纯的Html标签
  • 使用yii\helpers\Html帮助类中的方法来添加到表单中

图片截取自:魏曦教你学Yii2.0优酷视频.

4.块赋值

input标签中的name,实际是以对象来命名的一个数组,数组的健对应的是模型的属性。

<input type="text" id="contacnform-name" name="ContactForm[name]"/>

 模型执行load方法,就是对每个属性都执行这样的一句赋值:

$model->name=isset($ContanctForm['name']) ? $ContanctForm['name'] : null;

所以这句话就可以理解了:

$model->load(Yii::$app->request->post())

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值