在我的模型类中给出了各种验证,如 [Required]、[StringLength] 等,但这些服务器端验证消息仅在浏览器中打开 Javascript 时出现。
在禁用 Javascript 时,这些服务器端验证似乎都不起作用,我无法弄清楚为什么会这样。
有人可以指导我解决这个问题。
在我的模型类中给出了各种验证,如 [Required]、[StringLength] 等,但这些服务器端验证消息仅在浏览器中打开 Javascript 时出现。
在禁用 Javascript 时,这些服务器端验证似乎都不起作用,我无法弄清楚为什么会这样。
有人可以指导我解决这个问题。
在您的控制器中,您可以询问您发布的模型是否有效:
[HttpPost]
public ActionResult Index(MyModel model)
{
if(ModelState.IsValid)
{
// some persistence logic
return RedirectToAction("Index");
}
ViewBag.Error("there were some errors in your form.");
return View(model);
}
需要明确的是,这种行为服务器端完全不受客户端 javascript 设置的影响。客户端的设置只能允许或阻止表单提交到您的控制器。