所以我在ABCViewModel中填充了数据。它的每个字段都有数据。
其字段之一称为“名称”。通过使用数据注释,名称是必需的。 [必需]
我将ABCViewModel传递给了视图,其中name字段包含一个字符串。
此视图实际上用于编辑ABCViewModel内容。
出现html页面,其中包含包含名称的名称文本框。但是数据验证消息出现在文本框下方。 [姓名为必填项]
当我使用鼠标单击文本框以授予其焦点时,验证消息消失。
有人有过这个问题吗?
[HttpPost]
public ActionResult Edit(ABCDetailsViewModel abcDetailsViewModel)
{
ABCViewModel abc = new ABCViewModel(abcDetailsViewModel);
return View(abc);
}
@model ABCViewModel
@using(Html.BeginForm("ABCUpdate", "Details", FormMethod.Post, new{name="form", id="form", @class="form-horizontal"}))
{
@Html.AntiForgeryToken()
@Html.LabelFor(model=>model=>Name, new{@class="control-label col-sm-2"})
@Html.TextBoxFor(model => model.Name, "", new{@style="width:100%;"})
@Html.ValidationMessageFor(model => Model.Name, "", new{@class = "alert-danger"})
.
.
.
}
答案 0 :(得分:1)
检查是否在返回View()
方法中传递带有空值的空对象-重新检查您是否没有为Name prop设置任何默认值
如果没有任何效果,请发布您的cshtml
和控制器代码
在Html.EditFor()
方法中,检查您是否没有绑定任何值-谢谢