2

Cultures、MVC3、および Data Annotations の操作に問題があります。STORESスペイン語のデータベースにテーブルを定義しました。(COLLATION is set for LATIN_GENERAL);一部のフィールドは SQL で として定義されていますDECIMAL(18,2) NOT NULL。私の MVC3 アプリケーションでは、web.config ファイルで "es-ES" のカルチャを既に設定しています。また、強く型付けされたすべてのビューを使用しています。

検証に DataAnnotations を使用すると、Required fieldとのThe field must be a number検証が自動的に追加されます。それは1つのことを除いて完璧です:

The field must be a number検証により、カンマ(、)の代わりにドット(。)を小数点として使用する必要があります。そのため、変更方法も、このエラー メッセージの翻訳方法もわかりません。次に、ユーザーにjqueryでコンマの代わりにドットを使用するように強制する可能性があると考えました(醜い解決策)。そのため、いくつかのテストを行うためだけにそれを行った結果、検証に合格し、データベースにオブジェクトを完全に作成することができました。

しかし、ここで奇妙なことに、同じオブジェクトを編集しているときに、小数点の代わりにドットの代わりにコンマを使用して、同じ強く型付けされたフォームに表示されます。だから問題は何ですか?ユーザーがオブジェクトのエディションを送信できないこと。

私は何を間違っていますか?

  1. データベースに適切な照合を追加しました。
  2. web.config ファイルにグローバリゼーション属性を追加しました。
  3. 私はこのMVC 3 jQuery Validation/globalizing of number/decimal fieldを試してみ ましたが、成功しませんでした...

これを行う適切な方法はどれですか?

ありがとう

4

1 に答える 1

0

クライアント側の検証をオフにするか、次のようなハックを適用できます。

http://blog.brainnovative.com/2010/12/globalizing-aspnet-mvc-unobtrusive.html

于 2011-12-13T22:20:41.103 に答える