2013-05-05 50 views
2

我希望构建一个不会创建/更新任何活动记录的表单。这种形式的一个例子是使用复选框的搜索过滤器,以便用户选择应用于搜索的类别。Yii积极形式有哪些替代方案?

我读到的关于Yii中所有形式的一切都以CActiveForm类为中心。 Yii如何构建不使用活动记录的表单?

回答

2

如果你想拥抱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'), 
     ); 
    } 
} 
+0

米迈克尔,谢谢你,这对我很有意义。我已经意识到Yii演示的自己的联系表单是以这种方式实现的。它有一个扩展CFormModel的模型ContactForm(没有分配表)。这与您上面显示的内容非常相似。干杯。 – goose 2013-05-06 08:09:44