我正在编写一个web api,它接受来自文件上传的客户列表。文件中的每一行代表单个客户。可以有' n'客户在一个文件中。
对于每一行,都需要进行验证检查。错误消息需要显示在相应的行中。
POST / api / customers列出这是API,如何进行验证?
代码是这样的,
public async Task<IHttpActionResult> UploadCustomers(List<Customer> customers)
{
if (!ModelState.IsValid)
return BadRequest();
//Some action
}
答案 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
}