class RequiredOptionalId
{
public int Id { get; set; }
}
私はモデルであるRequiredOptionalIdクラスのこのプロパティを持っています。私は2つのコントローラからこれにアクセスします。クラスのプロパティをコントローラに応じて必須とオプションの両方にするデータアノテーションはありますか?
class RequiredIdController : ApiController
{
public IHttpActionResult Post([FromBody]RequiredOptionalId requiredOptionalId)
{
if (!ModelState.IsValid)
{
return BadRequest();
}
}
}
class OptionalIdController : ApiController
{
public IHttpActionResult Post([FromBody]RequiredOptionalId requiredOptionalId)
{
if (!ModelState.IsValid)
{
return BadRequest();
}
}
}
データアノテーションを使用します。フィールドは、このコントローラのために真実ではないとする必要作られて私は
class RequiredOptionalId
{
[Required,Range(1, int.MaxValue)]
public int Id { get; set; }
}
をapply-とき、これは「OptionalIdController」のPOSTメソッドで問題を作成します。
私はこのanntoationすなわち
class RequiredOptionalId
{
public int Id { get; set; }
}
Idフィールドには検証がないのでこれが「RequiredIdController」の問題を作成するを削除した場合。
"RequiredIdController"ポストメソッドのコントローラーにこれを追加できますが、そのようにしたくありません。
これを達成するためにこれらの注釈や一部のフィルタを使用できる他の方法はありますか?