Вы можете реализовать IValidatableObject
в классе модели, как показано в следующем примере:
public class Test: IValidatableObject
{
public int Id { get; set; }
public string TravelDate { get; set; }
public IEnumerable<ValidationResult> Validate(ValidationContext validationContext)
{
DateTime dateTime;
bool isDateTime = false;
isDateTime = DateTime.TryParse(TravelDate, out dateTime);
if (isDateTime)
{
yield return new ValidationResult($"TravelDate should be a string",new[] { "TravelDate" });
}
}
}
Для asp. net core 3.0 , вам нужно обязательно добавьте [ApiController]
в свой контроллер:
[ApiController]
[Route("api/[controller]")]
public class ValuesController : Controller
{
[HttpPost]
public async Task<ActionResult<Test>> Post(Test machines)
{
//do your stuff...
}
}
Результат: