MVC 中 Html.EditorFor() 的验证

Validation of Html.EditorFor() in MVC

在我的模型中我使用

[Display(Name ="No Of Children")]       
public Nullable<int> NoOFChildren { get; set; } 

在我看来我使用

<div class="col-lg-6">
    @Html.EditorFor(model => model.NoOFChildren, new { htmlAttributes = new { @class = "form-control", placeholder = "No Of Children" } })
</div>

当我 运行 页面时,它会显示如下图所示的文本框

我想限制此文本框接受小于零的数字。当数字为零时,向下箭头应该被禁用。我该怎么做?

jQuery 验证可能是一种选择,但我不想使用它,除非没有其他选择是有价值的。是否有任何 DataAnotation 验证属性可以做到这一点,或者任何 HTML5 元素可以自动完成而无需编写额外的脚本?

您可以使用 jquery 执行此操作,也可以在您的模型上添加数据注释

[Display(Name ="No Of Children")]       
[Range(0, 15, ErrorMessage = " ")]
public Nullable<int> NoOFChildren { get; set; } 

这应该限制用户。
同时将 ErrorMessage 留空(它内部有一个 space,技术上不是空白)将不会在视图上显示错误消息

更新 你可以试试这个:

 @Html.EditorFor(model => model.NoOFChildren, new { htmlAttributes = new { @class = "form-control", placeholder = "No Of Children",min="0" ,max="100",step="5" } })

这会将最小值设置为 0,将最大值设置为 100,每次点击都会增加 5。