代码之家  ›  专栏  ›  技术社区  ›  Namit Kumar

MVC中Html.EditorFor()的验证

  •  3
  • Namit Kumar  · 技术社区  · 11 年前

    在我的模型中,我使用

    [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>
    

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

    enter image description here

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

    jQuery验证可能是一种选择,但我不想使用它,除非没有其他选择。是否有任何DataAntation验证属性可以做到这一点,或者任何HTML5元素可以在不编写额外脚本的情况下自动实现这一点?

    1 回复  |  直到 11 年前
        1
  •  2
  •   Nikitesh    11 年前

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

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

    这将限制用户。
    同时离开 ErrorMessage 空白(里面有一个空格,技术上不是空白)不会在视图上显示错误消息

    使现代化 你可以试试这个:

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

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