即使文本框包含数据,也会出现数据验证消息

时间:2018-11-02 09:08:41

标签: c# asp.net-mvc validation

所以我在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"})
.
.
.
}

1 个答案:

答案 0 :(得分:1)

检查是否在返回View()方法中传递带有空值的空对象-重新检查您是否没有为Name prop设置任何默认值

如果没有任何效果,请发布您的cshtml和控制器代码 在Html.EditFor()方法中,检查您是否没有绑定任何值-谢谢