MVC3 DataAnnotations ServerSide验证

时间:2012-08-20 11:27:53

标签: asp.net-mvc-3 validation data-annotations server-side

所以我是MVC3的新手,并使用DataAnnotations进行验证。 一切都在很好的客户端,但我如何让服务器端版本工作? 如果我禁用Javascript,则无法看到验证。

我的模型看起来像这样

[Required(ErrorMessageResourceName = "Verplicht", ErrorMessageResourceType = typeof (ValidatieStrings))]
    [Display(Name="Voorletters", ResourceType = typeof (VeldNaamStrings))]
    public string Voorletters { get; set; }

我的控制器看起来像这样

using System.Web.Mvc;
using inschrijven_werknemer.Models;

namespace inschrijven_werknemer.Controllers
{
    public class HomeController : LocalizationController
    {
        public ActionResult Index()
        {
            return View(new MedewerkInfoModel());
        }
    }
}

我的视图看起来像这样

@model inschrijven_werknemer.Models.MedewerkInfoModel

<div class="stap-div" id="stap2">
    @Html.EditorForModel("MedewerkInfoModel")
</div>

我做错了什么?

1 个答案:

答案 0 :(得分:5)

您可以使用Model.IsValid属性执行此类操作。

所以你可以试试这个:

[HttpPost]
public ActionResult Index()
{
    if (ModelState.IsValid)
    {
        return View(new MedewerkInfoModel());
    }
    return View();
}

此处提供了更详细的阅读:https://stackoverflow.com/a/5969156/1182982https://stackoverflow.com/a/4760494/1182982