我验证使用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