【发布时间】:2020-11-19 17:37:59
【问题描述】:
我正在尝试使用数据注释验证我的模型,但不幸的是,例如,我无法一次获得所有验证错误
下面是我的模型和 API
public class Data
{
[Range(1, int.MaxValue, ErrorMessage = "TransactionId value must be greater than zero")]
public int TransactionId { get; set; }
[Range(typeof(DateTime), "1/1/1900", "1/1/2099", ErrorMessage = AppConstants.InvalidDate)]
public DateTime TransactionCreationDate { get; set; }
[Range(typeof(DateTime), "1/1/1900", "1/1/2099", ErrorMessage = AppConstants.InvalidDate)]
public DateTime educationYearStart { get; set; }
[Range(typeof(DateTime), "1/1/1900", "1/1/2099", ErrorMessage = AppConstants.InvalidDate)]
public DateTime educationYearDate { get; set; }
[Required]
public string Name { get; set; }
public List<Marks> marks { get; set; }
}
[HttpPost]
[Route("create/marks")]
public IActionResult Add([FromBody]Data model)
{
if (!ModelState.IsValid)
{
return BadRequest(ModelState);
}
return Ok("Created Successfully");
}
}
我的意见
{
"transactionId": 0,
"transactionCreationDate": "2021-08-31T22:37:57.5311707+05:30",
"educationYearStart": "",
"educationYearYearEnd": "2021-08-31T22:37:57.5311707+05:30",
"name":"sss"
"stuDetails": [
{
"subjectCode": "Engilsh",
"totalMarks": 100,
"Marks": 80
},
{
"subjectCode": "Maths",
"totalMarks": 100,
"Marks": 70
},
]
}
我得到以下输出:
“交易创建日期”:[ “输入无效。” ]
但我期待类似的东西:
“交易创建日期”:[ “输入无效。” ] , "TransactionId":["TransactionId 值必须大于零"]
如何在 c# webAPI 中一次获取所有验证错误?
【问题讨论】:
标签: c# asp.net-mvc asp.net-web-api c#-4.0