如何在web api中验证列表

时间:2018-01-15 05:44:27

标签: list validation asp.net-web-api

我正在编写一个web api,它接受来自文件上传的客户列表。文件中的每一行代表单个客户。可以有' n'客户在一个文件中。

对于每一行,都需要进行验证检查。错误消息需要显示在相应的行中。

POST / api / customers列出这是API,如何进行验证?

代码是这样的,

public async Task<IHttpActionResult> UploadCustomers(List<Customer> customers)
        {
            if (!ModelState.IsValid)
                return BadRequest();

            //Some action
        }

1 个答案:

答案 0 :(得分:0)

您应该向Customer对象添加一个属性,例如&#34; IsValid,&#34;然后在遍历每一行时,验证并将值设置为true或false。

public class Customer {
   //...
   public bool IsValid { get; set; } = false
}

public async Task<IHttpActionResult> UploadCustomers(List<Customer> customers)
        {
            if (!ModelState.IsValid)
                return BadRequest();

            foreach(var cust in customers)
           {
               if (IsValid(cust))
                { cust.IsValid = true; }
           }

           return customers;
        }

public bool IsValid(Customer cust)
{
  // Validation logic
}