/**
* @param \yii\base\Model $model
* @param array[] $fields
*
* @return bool
*/
public static function hasRequiredFields($model, $fields)
{
foreach ($fields as $column) {
if (!is_array($column)) {
if ($column instanceof ActiveField && $model->isAttributeRequired($column->attribute)) {
return true;
}
continue;
}
foreach ($column as $row) {
if (!is_array($row)) {
if ($row instanceof ActiveField && $model->isAttributeRequired($row->attribute)) {
return true;
}
continue;
}
if (static::hasRequiredFields($model, $row)) {
return true;
}
}
}
return false;
}