我驗證使用ModelState.IsValid
輸入:爲空類型無效的ModelState錯誤消息
[HttpGet]
[Route("subjects")]
[ValidateAttribute]
public IHttpActionResult GetSubjects(bool? isActive = null)
{
//get subjects
}
如果我通過在URI ~/subjects/?isActive=abcdef
,我得到的錯誤消息:
值「ABCDEF」是對於Nullable`1無效。
如果輸入參數不能爲空
public IHttpActionResult GetSubjects(bool isActive){
//get subjects
}
我得到的錯誤信息:
值 'ABCDEF' 不是有效的布爾值。
我想重寫消息如果可爲空的類型,所以我可以維護消息(「值'abcdef'是無效的布爾。」)。我怎麼能這樣做,因爲在ModelState
錯誤我沒有得到數據類型。我正在實施驗證作爲自定義ActionFilterAttribute
(ValidationAttribute
)。
你可以設置你'ModelState'想要的任何錯誤消息。 – lorond
我可以將它設置爲我想要的樣子「值'abcdef'對於布爾值無效」,但問題是錯誤對象沒有被驗證參數的類型信息(bool,int等)。 – alltej