加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

c# – 流畅的验证集合项不为空/空

发布时间:2020-12-15 04:34:46 所属栏目:百科 来源:网络整理
导读:我使用mvc4进行流畅验证 在我的模型中,我有一个列表: public Listint TransDrops { get; set; } 在视图中我为列表中的每个项目创建文本框. 我想随后确保填写每个字段.(不是空/空) OrderDetailsViewModelValidator是模型的验证器,我需要什么? 谢谢 解决方法
我使用mvc4进行流畅验证

在我的模型中,我有一个列表:

public List<int> TransDrops { get; set; }

在视图中我为列表中的每个项目创建文本框.

我想随后确保填写每个字段.(不是空/空)

OrderDetailsViewModelValidator是模型的验证器,我需要什么?

谢谢

解决方法

首先,您必须为集合项使用可空整数类型,否则空文本框将绑定为零值,这使得无法区分空文本框和填充零.
public List<int?> TransDrops { get; set; }

接下来,使用谓词验证器(必须规则):

RuleFor(model => model.TransDrops)
    .Must(collection => collection == null || collection.All(item => item.HasValue))
    .WithMessage("Please fill all items");

如果您需要阻止成功验证空集合,只需在谓词验证器之前添加NotEmpty()规则:它检查任何IEnumerable不为空,并且至少有1个项.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读