【问题标题】:Validating non-string datatypes in MVC 3在 MVC 3 中验证非字符串数据类型
【发布时间】:2011-10-23 06:05:29
【问题描述】:

假设您的模型中有两个字段:

public class MyModel
{
  [Required(ErrorMessageResourceType = typeof(Resources.Resource), ErrorMessageResourceName = "DateRequired"]
  public DateTime Date;

  [DataType(DataType.Currency, ErrorMessageResourceType = typeof(Resources.Resource), ErrorMessageResourceName = "NumberError")]
  public decimal Number;
}

我的问题是这样的:如果用户输入了一个无效的日期(如“aaa”)或一个无效的数字(如“bbb”),那么标准的 jQuery 验证消息就会像这样启动:“字段数字必须是一个数字”(日期也是如此)。

如何获得我的字段的本地化错误消息?我知道我可以将我的字段转换为字符串,然后手动将这些字段转换为我对应的数据库字段,但我相信一定有更简单的方法。

【问题讨论】:

    标签: asp.net-mvc-3 validation localization


    【解决方案1】:

    您应该为您的语言加载正确的“messages_##.js”文件。例如,当我需要巴西葡萄牙语验证时,我使用: http://ajax.aspnetcdn.com/ajax/jquery.validate/1.9/localization/messages_ptbr.js

    只需将末尾的“ptbr”替换为您的本地化代码即可。当然,您可以只获取代码并使用自己的消息。

    【讨论】:

    猜你喜欢
    • 2011-03-11
    • 2017-10-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-10-23
    • 2020-09-10
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多