【问题标题】:For What Inputs Should I Define Rules In Model Class?我应该在模型类中为哪些输入定义规则?
【发布时间】:2014-09-22 19:28:23
【问题描述】:

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

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

【问题讨论】:

    标签: php yii yii-validation


    【解决方案1】:

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


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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-10-30
      • 2018-07-05
      • 1970-01-01
      • 1970-01-01
      • 2013-11-14
      • 2016-04-23
      • 1970-01-01
      相关资源
      最近更新 更多