我想使用以下代码验证模型
if (ModelState.IsValid)
{
}
问题在于,当我将模型对象传递给控制器动作时,它可以正常工作,但是当我使用以下代码调用控制器动作时
public ActionResult Save()
{
}
然后我的模型状态总是返回true。所以请向我说明是否可以使用上面的代码检查ModelState.IsValid。在我的情况下,保存方法是常见的,它是从多个控制器调用的,因此模型不是固定参数。请让我知道如何验证模型。
答案 0 :(得分:0)
MVC使用模型来提取验证属性,作为验证手段。您可以直接在控制器中显式调用ValidateModel()
或TryValidateModel()
,但是再次使用模型验证属性来验证模型。如果您未明确使用模型,则可以直接访问表单,也可以手动验证输入,然后使用以下方法添加适当的模型验证错误:
ModelState.AddModelError("PropertyName", "ErrorMessage");
或根据应用的结构使用此技术:How to add ModelState.AddModelError message when model item is not binded
答案 1 :(得分:0)
ModelState.Clear();
Validate(model);
if (ModelState.IsValid)
{
// Do something
}