我希望构建一个不会创建/更新任何活动记录的表单。这种形式的一个例子是使用复选框的搜索过滤器,以便用户选择应用于搜索的类别。Yii积极形式有哪些替代方案?
我读到的关于Yii中所有形式的一切都以CActiveForm类为中心。 Yii如何构建不使用活动记录的表单?
我希望构建一个不会创建/更新任何活动记录的表单。这种形式的一个例子是使用复选框的搜索过滤器,以便用户选择应用于搜索的类别。Yii积极形式有哪些替代方案?
我读到的关于Yii中所有形式的一切都以CActiveForm类为中心。 Yii如何构建不使用活动记录的表单?
如果你想拥抱Yii的便捷表单处理,你应该使用CActiveForm
。它不需要CActiveRecord
。但是它总是需要一个表单数据的模型 - 这是一件好事,因为这会将验证规则保留在视图文件之外。您也可以从CFormModel
构建一个简单的模型类,而不是CActiveRecord
。
class SomeForm extends CFormModel
{
public $name;
public $email;
public function rules()
{
return array(
array('name,email','required'),
array('email','email'),
);
}
}
检查CHtml class的文档。虽然它包含所有主动*方法,但其中也有简单形式的方法,例如checkBox()或checkBoxList(),这听起来就像您要查找的内容。
米迈克尔,谢谢你,这对我很有意义。我已经意识到Yii演示的自己的联系表单是以这种方式实现的。它有一个扩展CFormModel的模型ContactForm(没有分配表)。这与您上面显示的内容非常相似。干杯。 – goose 2013-05-06 08:09:44