在html.textboxfor的模型中带有小数的regularExpression

时间:2017-04-10 08:20:28

标签: c# regex asp.net-mvc decimal html-helper

当我必须在我的数据库中插入小数时,我遇到了html.textboxfor的问题,这也是设置为小数。

我试过这个:

[RegularExpression(@"^[0-9]+(\.[0-9]{1,3})$", ErrorMessage = "Valid Decimal number with maximum 3 decimal places.")]

但如果我至少有3位小数(1,123),它只接受它。

我需要它能够接受,{1 - 1,2 - 1,23 - 1,234}

我如何实现这一目标?

我无法找到一个可以找出如何使用的regularrexression生成器..

或者我对如何解决我的问题的方向完全错误?

我在模特中的价值:

 [RegularExpression(@"^[0-9]+(\.[0-9]{1,3})$", ErrorMessage = "Valid Decimal number with maximum 3 decimal places.")]
        [Required]
        public decimal Average { get; set; }

以我的形式输入html:

<div class="form-group">
        @Html.LabelFor(x => x.Average, "Gennemsnit")
        @Html.TextBoxFor(x => x.Average, new { @class = "form-control" })
        @Html.ValidationMessageFor(x => x.Average, "", new { @class = "text-danger" })@
    </div>

1 个答案:

答案 0 :(得分:0)

<强>更新

确实正如StephenMuecke所说,我需要在jquery验证器中更改$ .validator。

所以我补充说:

(function () {

$.validator.methods.number = function (value, element) {
    return this.optional(element) || /^-?(?:\d+|\d{1,3}(?:.\d{3})+)?(?:\,\d+)?$/.test(value);
}
})();

覆盖方法。