У меня проблема с проверкой ModelState
, так как я использую модель с атрибутом, украшенным атрибутом [Required]
, но он никогда не становится недействительным, даже на null
.
Вот контроллер:
[HttpPost("x/{sampleString}")]
[ProducesResponseType(StatusCodes.Status303SeeOther)]
public IActionResult Post(string sampleString, SponsorContractorFilterModel model)
{
if (!ModelState.IsValid)
return StatusCode(BadRequest("Model sent is not valid").StatusCode.GetValueOrDefault());
//do stuff, add location on header and send back the 303.
return StatusCode(StatusCodes.Status303SeeOther);
}
И модель довольно проста:
public class SponsorContractorFilterModel
{
/// <summary>
/// Initializes a new instance of the <see cref="SponsorContractorFilterModel"/> class.
/// </summary>
public SponsorContractorFilterModel()
{
}
/// <summary>
/// Sponsor number.
/// </summary>
[Required]
public int? AnImportantNumber { get; set; }
public List<int> SomeIds { get; set; }
//few more attributes not been decorated on purpose.
}
Дело в том, что когда я отправляю с почтальоном объект модели без "AnImportantNumber" или явно null
ни в одном из случаев это не показывает, что является недействительным. И когда я отлаживаю его, я вижу его на самом деле как null
.