Действительно борется со встроенной ненавязчивой проверкой jquery, установленной MVC3.
Мой объект имеет свойство, такое как:
[DisplayName("GP")]
[DataType(DataType.Currency)]
[DisplayFormat(NullDisplayText = "$0", DataFormatString = "{0:C0}", ApplyFormatInEditMode = true)]
[Column("gross_profit")]
public decimal? GrossProfit { get; set; }
EditorFor создает текстовое поле, что хорошоОднако проверка не проходит, потому что я хочу, чтобы пользователи могли вводить префиксы валют ... например, 48 000 долларов США. Проверка на стороне клиента завершается неудачно, говоря, что свойство не является числом.
У меня нет проблем с написанием моегособственные аннотации данных и привязка пользовательской модели для этого, но я не могу понять, как помешать MVC автоматически вставить это «data-val-number» в текстовый ввод только потому, что он имеет тип decimal.
Я полагаю, что «data-val-number» мешает JQuery ненавязчивой проверке пройти, потому что поле ввода содержит знак доллара и, возможно, запятую.
Так что я не ищу каких-либо советов по глобализации, а скорее способа, позволяющего пользователю вводить текст, например, "48 000 долларов", и проходить эту проверку ...
Я бы хотел следоватьтот же подход для процентных значений также ... например, "25%"