gpt4 book ai didi

asp.net-mvc - 如何手动检查模型是否有效并获取错误消息

转载 作者:行者123 更新时间:2023-12-02 17:43:34 26 4
gpt4 key购买 nike

现在,我有一个这样的模型:

namespace TestMVC.Models.ViewModel
{
public partial class User
{

public string Name { get; set; }
public int Age { get; set; }
public string Email { get; set; }

}

[MetadataType(typeof(UserMetaData))]
public partial class User
{


}

public class UserMetaData
{
[Display(Name = "Name")]
public string Name { get; set; }
[Display(Name = "Age")]
public int Age { get; set; }
[Display(Name = "Email")]
[RegularExpression(@"^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$", ErrorMessage = "The email is invalid")]
public string Email { get; set; }
}
}

我有一个这样的方法:

   public ActionResult ValidCheck()
{
ModelState.AddModelError("error", "error");
Models.ViewModel.User model = new Models.ViewModel.User();
model.Age = 12;
model.Name = "Andy He";
model.Email = "123";
//TryValidateModel(model);
}

我想通过该方法检查模型是否有效并获取错误消息,我尝试使用 TryValideModel 但它只能得到模型有效的结果,无法获取错误消息,是否有方法可以做到这一点吗?你能帮我吗?

最佳答案

为特定键添加错误。像这样使用。ModelState.AddModelError("yourModelPropety", "error"); 这里您为特定键设置模型错误。

使用 ModelState.IsValid 属性。它告诉您是否有任何模型错误已添加到 ModelState 中。 ModelState.Isvalid

尝试这样。

 

ModelState.AddModelError("Email ", "error");  here you are setting model error for particular key. 

if(!ModelState.IsValid)
{
// do something to display errors .
foreach (ModelState modelState in ViewData.ModelState.Values) {
foreach (ModelError error in modelState.Errors) {
DoSomethingWith(error);
}
}
}

关于asp.net-mvc - 如何手动检查模型是否有效并获取错误消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15472569/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com