Loading...
plamen.yovchev avatar plamen.yovchev 5 Точки

Optional property invalid value

Здравейте, имам лек проблем с един action

Някакви идеи, при положение, че property-то е Nullable, нямам никаква идея защо иска да има Value ?

public class Query : IRequest<ActivitiesContainer>
    {
        public bool IsHost { get; set; }

        public bool IsGoing { get; set; }

        public DateTime? StartDate { get; set; }

        public int Limit { get; set; }

        public int Offset { get; set; }
    }


public async Task<IActionResult> Get([FromQuery] ActivitiesQuery query)
        {
            var activities = await this.Mediator.Send(query);

            return Ok(activities);
        }

Request URL: http://localhost:5000/api/activities?limit=10&offset=0&isGoing=false&isHost=false&startDate=null

{"errors":{"StartDate":["The value 'null' is not valid for StartDate."]},"type":"https://tools.ietf.org/html/rfc7231#section-6.5.1","title":"One or more validation errors occurred.","status":400,"traceId":"|8e9e4959-4e4bc6a624465b91."}
{"errors":{"StartDate":["The value 'null' is not valid for StartDate."]},"type":"https://tools.ietf.org/html/rfc7231#section-6.5.1","title":"One or more validation errors occurred.","status":400,"traceId":"|8e9e4959-4e4bc6a624465b91."}

Версията е ASP.NET Core 3.1

Тагове:
0
C# MVC Frameworks - ASP.NET 29/04/2020 22:28:19
prohause avatar prohause 356 Точки

Ако му подадеш реална дата какво ти връща? 

0
plamen.yovchev avatar plamen.yovchev 5 Точки

Ако му подам стойност работи, както се очаква.

0
prohause avatar prohause 356 Точки

Нещо при парсването става. Не знам какво е точно условието. Можеш да сложиш default на StartTime и когато е null да не подаваш отвънка 

0
plamen.yovchev avatar plamen.yovchev 5 Точки

Естествено, че може, но не е в това въпросът. Това трябва да работи ... 

0
plamen.yovchev avatar plamen.yovchev 5 Точки

Всъщност, оказва се, че трябва да се напише Custom Model Binder, който да работи с Nullable Dates :)

0
Можем ли да използваме бисквитки?
Ние използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Можете да се съгласите с всички или част от тях.
Назад
Функционални
Използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Използваме „сесийни“ бисквитки, за да Ви идентифицираме временно. Те се пазят само по време на активната употреба на услугите ни. След излизане от приложението, затваряне на браузъра или мобилното устройство, данните се трият. Използваме бисквитки, за да предоставим опцията „Запомни Ме“, която Ви позволява да използвате нашите услуги без да предоставяте потребителско име и парола. Допълнително е възможно да използваме бисквитки за да съхраняваме различни малки настройки, като избор на езика, позиции на менюта и персонализирано съдържание. Използваме бисквитки и за измерване на маркетинговите ни усилия.
Рекламни
Използваме бисквитки, за да измерваме маркетинг ефективността ни, броене на посещения, както и за проследяването дали дадено електронно писмо е било отворено.