我应该在模型类中定义哪些输入规则?

时间:2012-12-30 07:11:01

标签: php yii yii-validation

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

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

1 个答案:

答案 0 :(得分:3)

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


Yii文档建议仅为用户输入的字段创建规则。但是,我发现根据业务逻辑和底层数据库存储为所有属性指定规则很有用(尽管我不喜欢同一个类必须担心这两个方面的事实),然后添加{{1规则到不允许进行质量分配的字段。