FluenValidationASP.NETのWeb API 2.2モデルバインディング短絡のカスタムモデルの検証
RuleFor(x=> x.GenderID).NotNull().WithMessage("Please provide a valid Gender");
NULL
GenderID
を使用して、次のエンドポイントに従業員をPOST
とすると、サービスから検証が返されます。期待通りの要約。私は非NULL可能GenderID
public class Employee
{
public int GenderID { get; set; }
}
を持っている従業員のモデルを変更した場合
[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();
}
}
は、その後のサービスは、カスタム検証を処理せずに400不正なリクエストの応答を返します。検証要約は、UIにバインドするために必要です。
GenderIDをnullableにする唯一の理由は、カスタムバリデータから検証サマリーを作成できるようにすることです。
すべてのモデルプロパティをnullに設定する必要なく、カスタム検証を適用するにはどうすればよいですか?
はい、私はすでにその理由を説明しましたが、WebAPIのプログラミングモデルを見つけようとしています。これにより、許容できる値をより代表的なコマンドにすることができます。 GenderIdがnull可能であると言えば、私のAPIに付随する生成されたドキュメントは誤解を招きます。 – puri