Asp.net mvc 添加要查看的验证消息

Asp.net mvc 添加要查看的验证消息,asp.net-mvc,validation,razor,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 Action

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

下面是一个例子

<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();
        }   
 }      

公共操作结果创建(FormCollection集合)
{
if(string.IsNullOrEmpty(集合[“地址”])
{
//设置字段验证错误范围消息
AddModelError(“地址”,“此字段为必填项”);
返回视图();
}   
}      
注意:我知道如何使用视图模型和数据注释添加验证。在这种情况下,我无法使用视图模型,因此需要一些方法手动验证并将验证消息返回到视图

上述方法似乎不起作用

*更新*

或许可以按如下方式使用viewData:

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

我会选择html助手

@Html.ValidationMessage("Address") 
这将自动生成HTML:

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

您是否已尝试将
@Html.ValidationMessageFor(m=>m.Address,“”
添加到控件下?这将显示在控制器中为该属性添加的所有模型状态错误。还有
@Html.ValidationSummary()
显示所有模型状态错误。按照zgood说的做,并将模型返回到您的视图。
返回视图(集合)
另外,不要忘记将Get和Post的ActionResults分开,不确定您是否试图在此处将两者合并。最后一点,在本例中,您应该将
[必需]
模型中Address属性上方的数据属性,并让asp.net引擎为您处理这种类型的验证。@adam78好吧,您可以将所有验证错误塞进字典或某种类型的集合中,并将其放入
ViewBag
或其他任何内容中,然后在视图中迭代该属性。但是,如果没有模型,则所有验证都可以似乎已关闭。当表单验证失败时,您将如何在表单上显示值?这将是一个只有验证错误的空白表单,用户必须再次填写所有字段。
if (string.IsNullOrEmpty(collection["Address"]))
{
  // Set the field validation error span message
  ModelState.AddModelError("Address", "This field is required.");
 return View();
}