現在、Ruby On Railsでタグ機能を自作しております。
ArticleモデルとTagモデル、中間モデルのおそらく一般的な実装です。

has_many :article_tags, dependent: :destroy
has_many :tags, through: :article_tags

ArticleとTagを同時に保存したいと思っており、
Articleを保存する際にコントローラーの処理に挟み込んでいます。

if @article.save && @article.save_tags(tags_list)
  flash[:success] = "記事を作成しました"
  redirect_to articles_url
else
  render 'articles/new'
end

save_tagsメソッドの中で、バリデーションを行い(個数制限や文字数制限など)、
error.addでエラーを追加。エラーだとfalseを返すようにしています。
エラーメッセージの追加方法は以下のような感じ。

errors.add(:tag_list, "タグの個数がオーバーしています。") if tags.count > 5

この際、(当然なのですが)まず最初にArticleモデルのバリデーションが行われて、その後にTagのチェックが行われます。

つまり、まずArticleモデルのバリデーションをクリアしないとタグのエラーメッセージは表示されません(Articleモデルのバリデーションをクリアした場合、Tagのエラーメッセージが表示されます)。

例えば、Articleのタイトルがない状態で、かつ、タグが7個以上登録されている場合、エラーメッセージは

・Articleのタイトルが空です。

のみが表示されて、タグのバリデーション結果は表示されません。

希望としては、

・Articleのタイトルが空です。
・タグの個数がオーバーしています。

を同時に出力したいです。

これはどのようにすれば実現するでしょうか?
割とよくある形のような気がするのですが素人すぎて検索方法もわからず、、

ご教示頂けましたら幸いです。
よろしくお願いいたします。