使用HTML文本框时的数字验证

时间:2016-06-08 15:55:38

标签: regex asp.net-mvc validation razor asp.net-mvc-5

刚学习验证,所以我在我的模型上定义了一个属性:

public string NumberOfThings { get; set; }

和它的HTML如下:

  @Html.TextBoxFor(t => t.NumberOfThings , new {style = "width: 10%", @class = "form-control"})

现在我想为它添加验证,数据在数据库模式中保存为String。我的验证逻辑希望它说任何大于0的数字都可以。

所以我学会了验证,我可以做这样的事情:

[StringLength(3, MinimumLength = 1)]
public string SelectedQuestions { get; set; }

然后aboe看到我的ModelState无效哦 但由于我是新手,我无法弄清楚我应该对我的财产进行正确的验证是什么,因此它说任何大于0的数字都可以。

1 个答案:

答案 0 :(得分:2)

一些东西是int而不是字符串。

你可以这样做:

[Range(1, int.MaxValue, ErrorMessage = "some message")]
public int NumberOfThings { get; set; }

然后在您的html中使用ValidationFor,它将查看您在模型中定义的内容:

@Html.EditorFor(model => model.NumberOfThings )
@Html.ValidationMessageFor(model => model.NumberOfThings )