フレームワークに絡めて答えるなら、
エラーチェック(バリデーション)のような定型的な処理は、
DIのような手法で、依存部分のみをYAMLやXMLなどで定義して、
テスト済みのライブラリを使うべきでは?