我在当前项目中使用 MVC3。我只是想用十进制验证来验证我的输入字段。我在使用 JQuery 方面没有太多经验。我的 DB 十进制类型字段是这样的 (decimal(9, 2))。我想根据允许的规范验证用户。
我尝试使用 jquery 的测试方法。但在 IE8 中,当我触发验证检查时会抛出不可用错误。
我找到了正则表达式来做到这一点。但我不知道我应该触发验证检查的文本框的哪个事件。请帮助我为上述声明提供确切的表达方式。
谢谢
我在当前项目中使用 MVC3。我只是想用十进制验证来验证我的输入字段。我在使用 JQuery 方面没有太多经验。我的 DB 十进制类型字段是这样的 (decimal(9, 2))。我想根据允许的规范验证用户。
我尝试使用 jquery 的测试方法。但在 IE8 中,当我触发验证检查时会抛出不可用错误。
我找到了正则表达式来做到这一点。但我不知道我应该触发验证检查的文本框的哪个事件。请帮助我为上述声明提供确切的表达方式。
谢谢
只需将此行添加到您的项目并从此处下载源代码
<script src="http://code.jquery.com/jquery-1.9.1.min.js"></script>
然后进行十进制验证
$.validator.addMethod('Decimal', function(value, element) {
return this.optional(element) || /^\d+(\.\d{0,3})?$/.test(value);
}, "Please enter a correct number, format xxxx.xxx");
或允许使用逗号:
$.validator.addMethod('Decimal', function(value, element) {
return this.optional(element) || /^[0-9,]+(\.\d{0,3})?$/.test(value);
}, "Please enter a correct number, format xxxx.xxx");
听说过ASP.NET MVC 中的数据注解吗?
用这个
[RegularExpression(@"^[0-9,]+(\.\d{0,3})?$")]
public decimal UnitPrice { get; set; }
然后用这个
<p>
<label for="UnitPrice">Price:</label>
@Html.TextBox("UnitPrice")
@Html.ValidationMessage("UnitPrice", "*")
</p>