如何返回特定的错误消息

时间:2017-03-09 11:37:58

标签: c# validation asp.net-web-api

我有基于WebAPI的项目。它有一个用于用户注册的API。 RegistrationModel如下所示。

public class RegistrationTO
{

    [Required(ErrorMessage="Email required")]
    public string Email { get; set; }

    [Required(ErrorMessage="Name required")]
    public string Name { get; set; }

    [Required(ErrorMessage="Surname required")]
    public string Surname { get; set; }

}

API

 public string Post([FromBody]RegistrationTO model)
    {
        if (ModelState.IsValid)
        {
           //actual stuff
        }
        else
        {
          return "all * marked fields are required";
        }
    }
  

我的要求如果模型将Email设为null,我应该返回消息   “需要电子邮件”,如果Name为null,则“Name required”&等等。

是的,一种不完整的方式是: -

public string Post([FromBody]UserRegistrationTO model)
    {
        if (ModelState.IsValid)
        {
           //actual stuff
        }
        else
        {
          if(model.Email == null)
          return "Email required";
          else if(model.Name == null)
           return "name required"; // & so on.
        }
    }

还有其他简单的方法吗?

2 个答案:

答案 0 :(得分:1)

尝试这样做:

a[:,np.r_[:N,(a[:,N:]=='na').sum(0).argsort()[::-1]+N]]

我希望它可以帮到你。

答案 1 :(得分:0)

您可以在视图本身执行此操作。

对于个人财产:

@Html.ValidationMessageFor(x => x.Email, null, new { @class = "text-danger" })

并且所有验证都失败

@if (!ViewData.ModelState.IsValid)
{
   <div class="alert alert-danger">
     @Html.ValidationSummary(false)
   </div>
}