ASP.NET 不显眼 执行客户端和服务器端验证



asp.net MVC不显眼的验证数据注释是否仅具有客户端验证,或者它也执行服务器端验证?

数据批注还执行客户端验证。例如,假设您在用于窗体的模型的 FirstName 属性上有以下数据批注:

[Required(ErrorMessage = "Please enter your first name.")]
public string FirstName { get; set; }

如果启用了 javascript,则验证将在客户端进行,除非用户在文本框中输入内容,否则表单不会提交。如果禁用了 javascript,或者缺少执行客户端验证的相应脚本,则验证将在服务器端进行。但是,您必须检查ModelState是否有效,如果无效,则返回视图:

if (!ModelState.IsValid)
{
    // Do something here if you need to, then return the view
    return View();
}

最新更新