【问题标题】:MVC 2 Model Validation messagesMVC 2 模型验证消息
【发布时间】:2010-10-19 20:41:04
【问题描述】:

我有一个具有类似属性的视图模型:

[RegularExpression(@"^d\+$", ErrorMessageResourceType = typeof(Resources.Validation), ErrorMessageResourceName = "NumberValidationMsg" )]
public int? Number {get; set;}

NumberValidationMsg 资源设置为“仅允许数字!”。

但是当我尝试在表单上的 Number 字段中输入“test”之类的内容时,ModelState 会显示错误消息,其内容类似于:“值 'test' 对 Number 无效。”

可以关闭此消息,自定义吗? (或者最好的解决方案就是用字符串替换 int? )

谢谢!

【问题讨论】:

    标签: asp.net asp.net-mvc-2 asp.net-mvc-2-validation


    【解决方案1】:

    如果要在字段中接受文本,则需要将其更改为字符串,并根据您的规则转换为 int。

    如果您的模型是一个 int,那么唯一有效的输入将是 int(或者为空,如果它是“int?”),除非有充分的理由,否则您不应该尝试阻止这种情况......此外,我相信您可以忽略整个正则表达式,因为 MVC 已经隐式地为您进行检查(因为它是一个 int)。

    【讨论】:

    猜你喜欢
    • 2014-08-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-09-16
    • 2023-03-06
    • 1970-01-01
    相关资源
    最近更新 更多