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

c# – 如何使用数据注释来验证可以为空的int

发布时间:2020-12-15 23:48:25 所属栏目:百科 来源:网络整理
导读:在MVC 5项目中,我有一个可以为null的模型.由于可能无法解释的原因,它需要是一个可以为空的int而不能是一个字符串. // Value can be null or an integer from 0 to 145 [Range(0,145)]public int? Criterion { get; set; } 预期注释是在表单中输入值时提供用
在MVC 5项目中,我有一个可以为null的模型.由于可能无法解释的原因,它需要是一个可以为空的int而不能是一个字符串.

// Value can be null or an integer from 0 to 145        
[Range(0,145)]
public int? Criterion { get; set; }

预期注释是在表单中输入值时提供用户反馈.

Criterion: @Html.TextBoxFor(m => m.Criterion)
<span class="text-danger">@Html.ValidationMessageFor(m => m.Criterion)</span>

虽然用户在输入非整数值时会收到反馈,但Range属性似乎不起作用.

为了强制实现可以为空的整数范围,我是否需要使用正则表达式,还是有更简单的方法来强制执行规则?

解决方法

如果我没记错的话,[Range]数据注释应该按照预期的可空整数工作(即,只有当一个数字存在时,它才会验证数字是否在该范围内).您需要确保在POST操作中调用ModelState.IsValid以触发此服务器端验证.

下面的示例演示了使用null,-1,1和150作为输入值及其预期结果:

enter image description here

你可以see an example demonstrating this here.

(编辑:李大同)

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

    推荐文章
      热点阅读