C# Html.TextBoxFor中的必需值

C# Html.TextBoxFor中的必需值,c#,asp.net,css,asp.net-mvc-4,html-helper,C#,Asp.net,Css,Asp.net Mvc 4,Html Helper,我需要将文本框的值如下所示: <td>@Html.TextBoxFor(m =>(m.Code), new { @required = "required"})</td> 尽管生成了此Html代码,空值仍被接受 <td><input id="Code" name="Code" required="required" type="text" value="fff "></td> 这个问题的根源是什么 我怎样才能

我需要将
文本框
的值如下所示:

<td>@Html.TextBoxFor(m =>(m.Code), new { @required  = "required"})</td>
尽管生成了此Html代码,空值仍被接受

<td><input id="Code" name="Code" required="required" type="text" value="fff       "></td>

  • 这个问题的根源是什么
  • 我怎样才能修好它

  • 你不需要父母

    @Html.TextBoxFor(m => m.Code, new { @class = "txtCode" })
    
    如果在控制器端设置代码,则该值将放入文本框中使用

    @Html.ValidationMessageFor(m => m.Code)
    
    用于验证代码属性。代码属性的定义如下-

     [Required]
     public string Code{ get; set; }
    
    <td>@Html.TextBoxFor(m =>(m.Code), new { @Value = @Model.Code)</td>
     @Html.ValidationMessageFor(m => m.Code)
    
    用于在代码文本框中设置值。您可以像这样在控制器中设置它

    Model.Code="fffff";
    
    而在视图上使用的是这样的-

     [Required]
     public string Code{ get; set; }
    
    <td>@Html.TextBoxFor(m =>(m.Code), new { @Value = @Model.Code)</td>
     @Html.ValidationMessageFor(m => m.Code)
    
    @Html.TextBoxFor(m=>(m.code),新的{@Value=@Model.code)
    @Html.ValidationMessageFor(m=>m.Code)
    
    是的,别忘了包括验证Js,即

     <script src="/Scripts/jquery.validate.unobtrusive.js"></script>
        <script src="/Scripts/jquery.validate.unobtrusive.min.js"></script>
    
    
    

    试试看:-

    我不知道为什么,但是当我删除
    =
    @

    <td>@Html.TextBoxFor(m =>(m.Code), new { @Value =@Model.Code, @required  = "required"})</td>
    
    @Html.TextBoxFor(m=>(m.code),新的{@Value=@Model.code,@required=“required”})
    

    它可以工作

    是的,您的验证应该在您的模型中,如本文所述。如果在视图中进行验证,尤其是当您希望执行自定义错误消息时,它将变得一团糟。如何动态执行此操作而不是在提交时执行此操作?