1
鑑於我有一個可爲空GenderID的ASP.NET Web API 2.2模型綁定短路定製模型驗證
public class Employee
{
public int? GenderID { get; set; }
}
一個Employee模型,並使用上GenderID定製流利的驗證規則FluenValidation
RuleFor(x=> x.GenderID).NotNull().WithMessage("Please provide a valid Gender");
當我POST
僱員到以下端點與NULL
GenderID
然後該服務返回驗證總結如預期。
[HttpPost("Employee/Create")]
public IActionResult Create([FromBody]Employee employee)
{
try
{
if (!ModelState.IsValid)
{
// return validation summary (code omitted for brevity)
}
var result = _respository.CreateEmployee(employee);
return Ok();
}
}
如果我改變員工的模式對非空的GenderID
public class Employee
{
public int GenderID { get; set; }
}
然後服務返回不處理自定義驗證400錯誤的請求響應。驗證摘要需要綁定到UI。
將GenderID設爲可爲空的唯一原因是允許從自定義驗證器創建驗證摘要。
如何應用自定義驗證而無需將所有模型屬性設置爲可空?
是的我已經解釋了原因,但我試圖在WebAPI中找到一種編程模型,它允許我創建更具代表性的可接受值的命令。當我提到GenderId可以爲空時,隨我的API生成的文檔將會引起誤解。 – puri