我在我的asp.net MVC網站上使用datamodel驗證,我遇到了一個錯誤。asp.net MVC數據模型驗證雙重
我的模型看起來是這樣的:
public class MyModel{
public String Name{get;set;}
public double? Value {get;set;}
}
它正常工作,在大多數情況下,但如果我在「值」字段中的十進制值,如「5.5」,我得到了驗證錯誤。
該網站在「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」。
「 5,5「絕對是一個很好的迴應,因爲它不是一個數字。我正在調查你是否遇到類型爲double的問題? –
你會得到與其他非整數相同的結果嗎? (例如2.25)。問題可能是驗證期望int而不是double。 – Ammar
@JohnSykor實際上5,5不是很錯誤,因爲FR語言環境是官方分隔符。 – J4N