0

我应该为模型类中的所有输入元素定义规则吗?例如,模型表单有 2 个输入类型元素和一个文本区域。我可以只为这两种输入类型而不是 textarea 定义规则吗?

我已经这样做了,但是在 textarea 中输入的文本没有保存,但是如果我为它的长度设置一个规则,例如它会被保存。

4

1 回答 1

3

如果您没有为属性定义任何规则(或定义unsafe规则),则在批量分配 ( ) 期间不会设置该属性$model->attributes = $_POST['ModelClassName']。这似乎是您的 textarea 值未保存的最可能原因。请参阅保护属性分配


Yii 文档建议只为接受用户输入的字段创建规则。但是,我发现为所有属性指定规则很有用,既基于业务逻辑,也基于底层数据库存储(尽管我不喜欢同一个类必须担心这两个方面的事实),然后将unsafe规则添加到不允许批量赋值的字段。

于 2012-12-30T07:55:39.160 回答