asp.net-mvc – 范围注释在无和100之间?

我有一个[范围]注释,如下所示:
[Range(0,100)]
public int AvailabilityGoal { get; set; }

我的网页如下所示:

<%=Html.TextBoxFor(u => u.Group.AvailabilityGoal)%>

它的工作原理应该是,我只能输入0到100之间的值,但是我也希望输入框是可选的,如果输入框为空,用户不应该得到验证错误.这与范围无关,但因为类型是一个整数.如果用户把它留空,它应该使AvailabilityGoal = 0,但是我不想强制用户输入零.

我试过这个(显然)没有工作:

[Range(typeof(int?),null,"100")]

可以用Data Annotations或其他方式解决这个问题吗?

提前致谢.

鲍比

解决方法

当给定一个空值时,不必将[范围]属性更改为[范围]和其他内置的DataAnnotations验证器no-op.只是使属性本身类型为int?而不是int.始终自动需要不可空值的ValueType属性(如int).

相关文章

### 创建一个gRPC服务项目(grpc服务端)和一个 webapi项目(...
一、SiganlR 使用的协议类型 1.websocket即时通讯协议 2.Ser...
.Net 6 WebApi 项目 在Linux系统上 打包成Docker镜像,发布为...
一、 PD简介PowerDesigner 是一个集所有现代建模技术于一身的...
一、存储过程 存储过程就像数据库中运行的方法(函数) 优点:...
一、Ueditor的下载 1、百度编辑器下载地址:http://ueditor....