asp.net MVC Web サイトでデータモデル検証を使用していますが、エラーが発生しました。
私のモデルは次のようになります。
public class MyModel{
public String Name{get;set;}
public double? Value {get;set;}
}
ほとんどの場合は問題なく動作しますが、「値」フィールドに「5.5」などの 10 進数値があると、検証エラーが発生します。
Web サイトは "Fr-FR" ロケールで実行されています。「5.5」または「5,5」を試しましたが、どちらも機能しませんが、異なるメッセージが表示されました。
La valeur '5.5' n'est pas valide pour Value.
つまり、"The value '5.5' isn't valide for Value"
と
Le champ Value doit être un nombre.
つまり"The field Value has to be a number"
コード ビハインドにある唯一のロジックはModelState.IsValid
、更新を行う前に " " を使用することです。
これが機能しないのはなぜですか? この問題を解決するにはどうすればよいですか?
重要な編集 デバッグによって、モデルのフィールドが小数を含む場合に「NULL」になることがわかりました。