刚学习验证,所以我在我的模型上定义了一个属性:
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的数字都可以。
答案 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 )