私はModelState.IsValid
を使用して入力を検証:無効にModelStateエラーメッセージ
[HttpGet]
[Route("subjects")]
[ValidateAttribute]
public IHttpActionResult GetSubjects(bool? isActive = null)
{
//get subjects
}
私はURI ~/subjects/?isActive=abcdef
に渡すと、私はエラーメッセージが出ます:
値である「ABCDEF」をNullable`1には有効ではありません。
'ABCDEF' の値ブールに対して有効ではありません:入力パラメータが
public IHttpActionResult GetSubjects(bool isActive){ //get subjects }
NULL可能でない場合
は、私はエラーメッセージが表示されます。
null可能な型のメッセージをオーバーライドしたいので、メッセージを保持することができます( "値 'abcdef'はブール値に対して無効です)。 ModelState
エラーでデータ型を取得できないため、どうすればこのことができますか。妥当性確認をカスタムActionFilterAttribute
(ValidationAttribute
)として実装しています。
アクションフィルタ属性でコントローラにアクションメソッドを飾ります。 – lorond
私は "値 'abcdef'はブール値に対して有効ではありません"というように設定することができますが、問題はエラーオブジェクトが検証されているパラメータの型情報(bool、intなど)を持たないことです。 – alltej