添加验证消息以查看

时间:2017-10-17 16:51:04

标签: asp.net-mvc validation razor

假设我有一个没有模型绑定或数据注释的表单。当表单发布时,如何在控件下面返回带有验证消息的视图 - 注意我在这里尝试进行服务器端验证?

以下是一种示例。

<input name="Address" type="text" value="">
<span class="field-validation-valid" data-valmsg-for="Address" data-valmsg-replace="true"></span>


 public ActionResult Create(FormCollection collection)
 {
        if (string.IsNullOrEmpty(collection["Address"])
        {
            // Set the field validation error span message
            ModelState.AddModelError("Address", "This field is required.");

            return View();
        }   
 }      

注意:我知道如何使用视图模型和数据注释添加验证。在这种情况下,我无法使用视图模型,因此需要某种方法来手动验证并将验证消息返回给视图。

以上似乎不起作用

*更新*

也许使用viewData如下:

<span class="field-validation-valid" data-valmsg-for="Address" data-valmsg-replace="true">@ViewData["Address"]</span> 

1 个答案:

答案 0 :(得分:0)

我会选择html助手。

@Html.ValidationMessage("Address") 

这将自动生成HTML:

<span class="field-validation-valid" data-valmsg-for="address" data-valmsg-replace="true"></span>`

您的代码看起来是正确的。

if (string.IsNullOrEmpty(collection["Address"]))
{
  // Set the field validation error span message
  ModelState.AddModelError("Address", "This field is required.");
 return View();
}