ASP.Net MVCアプリケーションを構築しており、受信データの検証ロジックをどこに配置すべきかを自問しています。
すでに簡単な検証が行われています。これらは、ビューモデルの属性[required], [numeric] , [email]
などです(これも議論の余地があります)。
しかし、今ではさらにいくつかの入力検証があります。ドロップダウンリストから受け取ったIDが本物のIDであるかどうかを検証したいと思います。
たとえば、91をcountryidとして受け取った場合、91が有効なcountryidであり、ユーザーによってフォームに「ハッキングされた」値ではないことを確認する必要があります。有効な国IDでない場合、データレイヤーがエラーを生成するためです。
リクエストからのデータが到着したときに、このメソッドは何が正しく何が間違っているかを知っているので、これをコントローラーアクションメソッドに配置する必要がありますか?
VacancyValidator(オブジェクトはVacancyオブジェクト)に配置する必要があります。ここで、すべてのVacancy関連のビューモデルのすべての検証ロジックを配置します。
自分自身を検証する方法を知っているはずなので、ViewModelに配置する必要があります
ViewModelsプロパティに配置するプロパティを検証する属性を作成する必要があります
この特定のビューモデルのすべての検証ロジックを配置するVacancy[thisviewmodelsname]Validatorに配置する必要があります
どんなアイデアでもありがたい…。