Php Yii2-忽略验证,如果

Php Yii2-忽略验证,如果,php,yii2,Php,Yii2,在我的Yii2项目中,我有相关的模型。示例:一个型号客户将具有与另一型号地址相关的属性地址。在客户模型中,使用存在验证程序检查地址表中是否存在该行 通常,在创建或更新时,如果address=null,则忽略此验证。我的问题是,有时FE会发送地址=0,表示没有地址 在这种情况下,我不仅需要忽略验证,还需要设置address=null。当然,这可以在保存之前完成,但我正在尝试检查是否有某种内置方法可以完成这项工作可以用于输入数据的标准化。例如: class Customer extends Acti

在我的Yii2项目中,我有相关的模型。示例:一个型号客户将具有与另一型号地址相关的属性地址。在客户模型中,使用存在验证程序检查地址表中是否存在该行

通常,在创建或更新时,如果
address=null
,则忽略此验证。我的问题是,有时FE会发送
地址=0
,表示没有地址

在这种情况下,我不仅需要忽略验证,还需要设置
address=null
。当然,这可以在保存之前完成,但我正在尝试检查是否有某种内置方法可以完成这项工作可以用于输入数据的标准化。例如:

class Customer extends ActiveRecord
{
    public function rules()
    {
      return [
          ['address_id', 'filter', 'filter' => function ($value) {
              return $value == 0 ? null : $value;
          }],
          // other validators
      ];
    }
}