我需要像这样要求TextBox
的值:
<td>@Html.TextBoxFor(m =>(m.Code), new { @required = "required"})</td>
有效。但是,如果我将默认值设置为TextBox
<td>@Html.TextBoxFor(m =>(m.Code), new { @Value = @Model.Code, @required = "required"})</td>
尽管生成了这个Html代码
,但仍接受空值<td><input id="Code" name="Code" required="required" type="text" value="fff "></td>
答案 0 :(得分:12)
使用
@Html.ValidationMessageFor(m => m.Code)
用于验证代码属性。代码属性应该像这样定义 -
[Required]
public string Code{ get; set; }
并设置代码Textbox中的值。您可以在控制器中设置它。
Model.Code="fffff";
并在视图上使用像这样 -
<td>@Html.TextBoxFor(m =>(m.Code), new { @Value = @Model.Code)</td>
@Html.ValidationMessageFor(m => m.Code)
并且是的,不要忘记包含验证Js,即
<script src="/Scripts/jquery.validate.unobtrusive.js"></script>
<script src="/Scripts/jquery.validate.unobtrusive.min.js"></script>
试一试: -
答案 1 :(得分:9)
我不知道为什么,但当我删除=
和@
<td>@Html.TextBoxFor(m =>(m.Code), new { @Value =@Model.Code, @required = "required"})</td>
它有效
答案 2 :(得分:1)
你不需要parens
@Html.TextBoxFor(m => m.Code, new { @class = "txtCode" })
如果在控制器端设置代码,则该值将放在文本框中