Я создаю простое Asp. Net Базовое приложение в linux (pop os). Я использую VueJs + Aps. Net Core 3.1.101. Я пытаюсь выполнить вызов POST для моего приложения, и моя модель выглядит следующим образом:
public class AddConfigurationContextValueApiRequest
{
public int ContextId { get; set; }
[Required(ErrorMessage = "Value is required to continue")]
[StringLength(500, ErrorMessage = "Value can not be longer than 500 characters")]
public string Value { get; set; }
[StringLength(500, ErrorMessage = "Display name can not be longer than 500 characters")]
public string DisplayName { get; set; }
}
Как вы можете видеть, что нет Атрибут Required
для поля DisplayName
, но всякий раз, когда я передаю значение null
из приложения VueJS для этого поля, я получаю The DisplayName field is required.
.
Я пытаюсь выяснить, почему As pNet Основные жалуются на это, так как для такого поля нет атрибута Required
!
Кто-нибудь знает, намеренно ли это? Я попытался удалить атрибут StringLength
, но он все еще вызывает требуемый атрибут.
Мое действие довольно простое:
[HttpPost(UrlPath + "addConfigurationContextValue")]
public async Task AddConfigurationContextValue([FromBody]AddConfigurationContextValueApiRequest request)
{
using var unitOfWork = _unitOfWorkProvider.GetOrCreate();
if (!ModelState.IsValid)
{
//Here it throws because ModelState is invalid
throw new BadRequestException(ModelState.GetErrors());
}
//do stuff
await unitOfWork.CommitAndCheckAsync();
}