Asp.net mvc 5 MVC 5强类型数字字段“最小-最大”工作不正常

Asp.net mvc 5 MVC 5强类型数字字段“最小-最大”工作不正常,asp.net-mvc-5,max,min,numeric,strong-typing,Asp.net Mvc 5,Max,Min,Numeric,Strong Typing,我的视图有两个文本框 一个是强类型的,另一个只是普通的输入字段 @Html.TextBoxFor(m=>Model[index].Response,新{@type=“Number”,@min=questionary.SurveyQuestion.Question.RateMin,@max=questionary.SurveyQuestion.RateMax}) @Html.ValidationMessageFor(p=>Model[index].Response) @Html.Raw(“”)

我的视图有两个文本框 一个是强类型的,另一个只是普通的输入字段

@Html.TextBoxFor(m=>Model[index].Response,新{@type=“Number”,@min=questionary.SurveyQuestion.Question.RateMin,@max=questionary.SurveyQuestion.RateMax})
@Html.ValidationMessageFor(p=>Model[index].Response)
@Html.Raw(“”)
景色是这样的

但验证不适用于强类型文本框。 如果我输入9,它将抛出一个验证错误,如下所示

但该框应该能够输入8到10之间的数字

在这个问题上,谁能帮我一下。非常感谢。

@Html.ValidationMessageFor()将适用于,如果您为其添加了DataAnnotation属性

将响应属性上的验证属性设置为

Range[minVal,maxVal]
public int Response{get;set;}
或者,如果要动态添加验证规则,可以使用远程验证:下面是一个示例

您对属性有什么验证属性(
min
max
属性与
@Html.ValidationMessageFor()生成的验证消息无关)
屏幕截图中的html也有一些奇怪的地方-它应该有一些
数据val
属性-你确定这是正确的代码吗?是的,它确实有数据val属性(不在屏幕截图中,但在验证点击时会出现)我认为您误解了。生成html时,您的html应该具有许多
data val
属性-至少
data val=“true”data val required=“…”data val number=“…”
等。您需要显示更多的视图代码,特别是
for
循环,在模型中生成此代码-显示
响应
属性及其属性HH我得到了你。是的,你说得对,我没有把这些内容放到我的html中