framework/helpers/BaseHtml.php
public static function errorSummary($models, $options = [])
    {
        $header = isset($options['header']) ? $options['header'] : '<p>' . Yii::t('yii', 'Please fix the following errors:') . '</p>';
        $footer = ArrayHelper::remove($options, 'footer', '');
        $encode = ArrayHelper::remove($options, 'encode', true);
        $showAllErrors = ArrayHelper::remove($options, 'showAllErrors', false);
        unset($options['header']);
        $lines = self::collectErrors($models, $encode, $showAllErrors);
        if (empty($lines)) {
            // still render the placeholder for client-side validation use
            $content = '<ul></ul>';
            $options['style'] = isset($options['style']) ? rtrim($options['style'], ';') . '; display:none' : 'display:none';
        } else {
            $content = '<ul><li>' . implode("</li>\n<li>", $lines) . '</li></ul>';
        }

        return Html::tag('div', $header . $content . $footer, $options);
    }
public static function errorSummary($models, $options = [])
    {
        $header = isset($options['header']) ? $options['header'] : '<p>' . Yii::t('yii', 'Please fix the following errors:') . '</p>';
        $footer = ArrayHelper::remove($options, 'footer', '');
        $encode = ArrayHelper::remove($options, 'encode', true);
        $showAllErrors = ArrayHelper::remove($options, 'showAllErrors', false);
        unset($options['header']);
        $lines = self::collectErrors($models, $encode, $showAllErrors);
        if (empty($lines)) {
            // still render the placeholder for client-side validation use
            $content = '<ul></ul>';
            $options['style'] = isset($options['style']) ? rtrim($options['style'], ';') . '; display:none' : 'display:none';
        } else {
            $content = '<ul><li>' . implode("</li>\n<li>", $lines) . '</li></ul>';
        }

        return Html::tag('div', $header . $content . $footer, $options);
    }
Generates a summary of the validation errors.
If there is no validation error, an empty error summary markup will still be generated, but it will be hidden.
@param Model|Model[] $models the model(s) whose validation errors are to be displayed.
@param array $options the tag options in terms of name-value pairs. The following options are specially handled:

- header: string, the header HTML for the error summary. If not set, a default prompt string will be used.
- footer: string, the footer HTML for the error summary. Defaults to empty string.
- encode: boolean, if set to false then the error messages won't be encoded. Defaults to `true`.
- showAllErrors: boolean, if set to true every error message for each attribute will be shown otherwise
only the first error message for each attribute will be shown. Defaults to `false`.
Option is available since 2.0.10.

The rest of the options will be rendered as the attributes of the container tag.

@return string the generated error summary