В Yii1 логика была такая: на одно из полей назначается валидация через метод класса, в котором устанавливаются ошибки сразу нескольким полям.
public function rules () {
return [
['field1', 'customValidate'],
];
}
public function customValidate ($attribute, $params) {
if (some_expression) {
$this->addError('field1', 'Error description');
$this->addError('field2', '');
$this->addError('field3', '');
}
}
В Yii2, полагаю, можно сделать чуть проще:
public function rules () {
return [
[
'field1',
function($attribute, $params){
if (some_expression) {
$this->addError('field1', 'Error1 description');
$this->addError('field2', '');
$this->addError('field3', '');
}
}
],
];
}