モデルが取得するすべてのデータはユーザー入力またはデータベースからのものであるため、モデル自体もテストする必要はありません。データベース内のデータは正しいはずです!
IE:自分のデータは信頼しますが、ユーザーは信頼しませんか?
しかし、それでもやりたい場合は、AnnotationBuilderを使用してフォームを作成し、フォームからInputFiltersを取得して(おそらく要素ごとにメソッドがあることを確認してください)、モデル内でそれらを使用できると思いますが、私の最初の段落が示唆しているように、私はこれをまったく役に立たない点だと考えています:)
複数の使用可能な入力フィルターに関しては、モデルごとにZend \ InputFilter\InputFilterを拡張する独自のクラスを作成するのが最善です。フォームを作成するときは、を介してそのクラスをフィルター定義としてアタッチ$form->setInputFilter($myModelInputFilterClass)
できます。また、モデル内でそのクラスを呼び出して、これらのフィルターを介してデータを実行することもできます。私はこれを手動で行っていませんが、動作するはずです。
必要なステートメントに遭遇した場合、私が推測する唯一の落とし穴が発生する可能性があります。要素ごとに確認すると、それが機能するかどうかもわかりません。InputFilterは、指定されたすべてのフィルターをチェックします。ただし、完全なCSVシートなどをインポートすると、populateFromCsv()
とにかくすべてのデータをチェックする関数などがあります。