Asp.net-Mvc
允許數字中的點和逗號,而不僅僅是小數
我在本地化方面遇到問題。在巴西,我們使用逗號作為小數分隔符,而不是點。例如:
500,00 120,21 0,0001我根據這個答案找到了這個問題的解決方案:MVC 3 jQuery Validation/globalizing of number/decimal field
但在巴西,我們也使用“.”。以數字表示,例如:
100.000.000,00 11.125,23還有一件事情:
10.000 <> 10,000第一個是一萬,第二個就是十。
使用全球化外掛,當使用者鍵入“.”時,會顯示驗證錯誤。我嘗試使用數據註釋DisplayFormat,但它沒有按預期工作……為了“解決”這個問題,我使用 javascript 手動設置和刪除“。” 從現場的數字來看,但是當我們需要改變任何東西時這是非常有問題的(我確信這是我可以使用的最糟糕的方法之一……)。你們知道在這種情況下如何進行嗎?
還有一個問題:我可以創建一個模型綁定器(或修改現有的)來接受這種數字格式嗎?
我剛剛找到了這個答案。
它在我的場景中完美執行。這傢伙解決了我遇到的完全相同的問題!
我剛剛修改了幾行程式碼,但最重要的部分是這一行:
ModelBinders.Binders.Add(typeof(decimal), new DecimalModelBinder());我對其進行了修改以接受可為空的值。