sfFormのvalidatorで引っかかったエラーメッセージを全部取得

いろいろあって、sfFormはvalidatorのみ使用(widgetはほぼ自動で挿入される_csrf_token的なものでしか使用しない)、という方針で開発をすることがあるのですが、その際のエラーメッセージの取り出し方について一旦たどりついた結論です。

    $this->form = new HogehogeForm();
    $this->form->bind($request->getPostParameters());
    
    if (!$this->form->isValid()) {
      $error_messages = array_map(
          create_function('$e', 'return $e->getMessage();'),
          $this->form->getErrorSchema()->getErrors());

{sfForm}->getErrorSchema()->getErrors(); で、バリデーションに引っかかったすべてのエラーをsfValidatorError(Exceptionのサブクラス) の配列として取得できるようなので、これを利用してみました。myFormクラスに書いておいたほうがよいかもとか、そもそもこれでいいのかという気もするので、もうちょっと検討します。