MVC C#アプリケーションとxVal内のデータを検証する最適な方法を理解しようとしています.xValが最適です。しかし、私はデータ型のバリデーションに問題があります。xValを使用したデータ型の検証
私は最初にDTOにUpdateModelを実行してから、DTOで検証を実行していました。これは必須フィールドのようなものではうまくいきましたが、たとえば、文字列( "asd")を10進数のフィールドにマップしようとすると、UpdateModelは例外をスローします。検証するデータがある前にUpdateModelを実行しなければならなかったので、私はそれを回避する方法がわかりませんでした。
私の解決策は、UpdateModelがコピーするフォームごとにDTOを作成し、その検証を実行してから、値を適切なDTOにコピーすることでした。フォームDTOのすべての属性は文字列なので、UpdateModelは決して爆発することはありません。xValを通じてデータ検証を強制します。しかし、要求のようなルールが踏み込まれている間は、DataTypeルールを取得することはできません(この場合、DataType.Currencyを試行します)。
私はまた、クライアント側の検証を機能させることを試みましたが、データ型のサーバー側の検証を行うためのきれいな方法があることを期待していました。
サーバー側のデータ型の検証に関して他の人たちは何をしましたか?
DTOでは、カスタムViewModelを意味しますか? –