protected function chain(Sanitize $sanitize, $input, $attribute)
{
$callback = function ($value) use($sanitize, $attribute) {
if (is_array($value)) {
if (!$this->recursive) {
return $value;
}
$this->attributes = is_array($this->attributes) && isset($this->attributes[$attribute]) ? $this->attributes[$attribute] : $this->attributes;
return $this->sanitize($value);
}
return $sanitize->sanitize($value);
};
return ArrayHelper::updateValue($input, explode('.', $attribute), $callback);
}