假设我有一个没有模型绑定或数据注释的表单。当表单发布时,如何在控件下面返回带有验证消息的视图 - 注意我在这里尝试进行服务器端验证?
以下是一种示例。
<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>
答案 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();
}