【发布时间】:2012-03-29 22:37:57
【问题描述】:
在 MVC3 设置的内置不显眼的 jquery 验证方面确实苦苦挣扎。
我的对象有如下属性:
[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”放入文本输入只是因为它是十进制类型。
我相信“data-val-number”会阻止 jquery 不显眼的验证通过,因为输入字段包含一个美元符号,可能还有一个逗号。
所以我不是在寻找任何全球化技巧,而是一种允许用户输入诸如“$48,000”之类的文本并通过此验证的方法...
我也想对百分比值采用相同的方法......例如“25%”
【问题讨论】:
标签: jquery asp.net-mvc-3 html unobtrusive-javascript