我应该为模型类中的所有输入元素定义规则吗? 例如,模型表单有2个输入类型元素和一个textarea。 我可以只为这两种输入类型定义规则而不是为textarea定义规则吗?
我已经这样做但是在textarea中输入的文本不是保存但是如果我为其长度设置一个规则,它将被保存。
答案 0 :(得分:3)
如果您没有为属性定义任何规则(或定义unsafe
规则),则在批量分配($model->attributes = $_POST['ModelClassName']
)期间不会设置该属性。这似乎是您的textarea值无法保存的最可能原因。请参阅Securing attribute assignments。
Yii文档建议仅为用户输入的字段创建规则。但是,我发现根据业务逻辑和底层数据库存储为所有属性指定规则很有用(尽管我不喜欢同一个类必须担心这两个方面的事实),然后添加{{1规则到不允许进行质量分配的字段。