首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ActionMethod在模型验证中的应用

ActionMethod在模型验证中的应用
EN

Stack Overflow用户
提问于 2022-03-28 09:24:20
回答 1查看 9关注 0票数 0

我有一个从控制器返回的预留天数的列表。我想在模型验证中比较它们。若要在数据已保留时出现错误,请执行以下操作。

ReservationController.cs

代码语言:javascript
复制
 [HttpGet]
    public List<string> GetReservedDays()
    {

       [...]

        return reserved_days;

    }

我想用这几天

ReservationModel.cs

代码语言:javascript
复制
public IEnumerable<ValidationResult> Validate(ValidationContext validationContext)
    {
        var property = new[] { "EndOfReservation" };
        if (EndOfReservation < StartOfReservation)
        {
            yield return new ValidationResult("End must be after start", property);
        }

       var reservedDays = GetReservedDays(); //   Error CS0103  The name 'GetReservedDays' does not exist in the current context Reservation2  

        foreach(var day in reservedDays)
        {
            if(StartOfReservation < day && day < EndOfReservation)
            {
                yield return new ValidationResult("This date is reserved", property);
            }
        }

    }

如何使GetReservedDays()在模型中工作?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-03-29 04:49:55

我在互联网上发现,基于数据库数据的验证应该在控制器中执行。

在Create()方法中,我通过以下方法进行验证并给出错误:

代码语言:javascript
复制
ModelState.AddModelError("StartOfReservation", "ERROR MESSAGE");
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71645124

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档