在我的模型中,我有一个可以为空的int。
在视图中,我输入了'数字'。
问题是用户可能输入的数字大于最大可能的整数值,这会导致以下错误:
值[value]对[field]
无效我想更改此消息,并且对属性进行[Range(...)]验证没有帮助,因为我的验证没有被调用,因为框架无法将值解析为int。 / p>
---------编辑---------
我的验证在正常输入时正常执行,如下所示:
我对未被调用的验证的意思是我已经读过如果框架无法将值解析为int(因为该值超过整数的最大值),它会忽略任何进一步的"不必要"验证
因此我的范围验证被忽略,如下所示:
我已尝试创建自定义ValidationAttribute,但它具有相同的行为(在正常整数输入时正确调用,但在溢出整数输入时被忽略)
--------- / EDIT ---------
我见过的所有解决方案都建议绑定一个自定义资源文件,我可以在其中覆盖无效值的默认消息。
但我希望能够在无效值的情况下为每个属性指定自定义消息。
我考虑过使用字符串而不是整数,并创建一个自定义ValidationAttribute,尝试将其解析为int。
还有其他选择吗?
//编辑:我可以通过客户端验证来避免这个问题(在某种程度上) - 但我想知道是否有可能从服务器端,如果有人编辑html并强制更高值
答案 0 :(得分:0)
您可以通过多种方式验证用户输入:
以下是自定义验证属性的示例:
'foRtinet'