0

在我的模型类中给出了各种验证,如 [Required]、[StringLength] 等,但这些服务器端验证消息仅在浏览器中打开 Javascript 时出现。

在禁用 Javascript 时,这些服务器端验证似乎都不起作用,我无法弄清楚为什么会这样。

有人可以指导我解决这个问题。

4

1 回答 1

0

在您的控制器中,您可以询问您发布的模型是否有效:

[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 设置的影响。客户端的设置只能允许或阻止表单提交到您的控制器。

于 2012-11-23T11:56:13.530 回答