MVC C#アプリ内でデータを検証するための最良の方法を見つけようとしていますが、xValが最適であるように見えました。ただし、データ型の検証で問題が発生しています。
最初は、DTOに対してUpdateModelを実行してから、DTOで検証を実行していました。これは必須フィールドなどに最適ですが、たとえば、文字列( "asd")を10進フィールドにマップしようとすると、UpdateModelは例外をスローします。検証するデータが存在する前にUpdateModelを実行する必要があったため、それを回避する方法がわかりませんでした。
私の解決策は、UpdateModelがコピーするフォームごとにDTOを作成し、その検証を実行してから、値を適切なDTOにコピーすることでした。フォームDTOのすべての属性は文字列になるため、UpdateModelが爆破されることはなく、xValを介してデータ検証を実施します。ただし、requiredのようなルールが開始されている間は、DataTypeルールを開始できないようです(この場合はDataType.Currencyを試しています)。
クライアント側の検証を機能させることも試みましたが、データ型のサーバー側の検証を行うためのクリーンな方法があることを望んでいました。
サーバー側でのデータ型の検証に関して、他の人は何をしましたか?