構造を改善するために、既存のアプリケーションの1つをMVVMパターンに変換していますが、データ検証を行うための最良の方法に少し戸惑っています。
現在、アプリケーションはデータバインディングを使用してUIとコードをリンクし、いくつかの検証ルールと値コンバーターを使用して、同様の値(日付などにそれぞれ1つずつ)で再利用できます。
MVVMを読んでいるときに、IDataErrorInfoに出くわしました。これは、検証が表示されないようにするため、バインディングなどを設定する際の繰り返しコードをわずかに減らし、より具体的なエラーメッセージを表示できるので魅力的です。
一方、ValidationRulesは、検証が失敗した場合にバインディングデータの転送をブロックします。これは、モデル値に新しい有効な値を変更するだけでよいため、必要です。
私の主な懸念は、ビューモデルで物事を制限しすぎると、ビューで物事が難しくなることです-一般的なケースでは物事を快適なレベルに制限してから、より柔軟性が必要な特定のケースを修正することをお勧めします景色?
だから私の主な質問は、ビューモデルのプロパティに検証と変換を入れるか、検証ルールと値変換器(またはその間の妥協点)に固執する方が良いでしょうか?