Yii2:防止ActiverRecord属性中的空字符串

时间:2015-09-22 11:34:55

标签: mysql validation activerecord model yii2

防止将空字符串插入MySQL的InnoDB表的字段中的最佳方法是什么?允许的值是字符数大于零的字符串或NULL。

我之所以这样问,是因为ActiveRecord模型对象经常会获得loaded视图的表单数据,这些数据不会知道,因此不会发送NULL值。在这种情况下,我更喜欢存储NULL而不是空字符串。

我应该定义规则吗?我应该实施一个二传手吗?使用触发器?

1 个答案:

答案 0 :(得分:11)

您应该只使用default验证程序,将此规则添加到您的模型中:

public function rules()
{
    return [
       // ...
       ['attribute', 'default', 'value' => null],
       // ...
    ];
}