【问题标题】:Jquery validation localizationJquery 验证本地化
【发布时间】:2016-01-25 14:34:17
【问题描述】:

我在 Asp.Net MVC 5 项目中使用 jquery validate unobtrusive。验证可以用英语进行,但我想要其他语言,例如挪威语。

我在这里找到了messages_no.js https://github.com/jzaefferer/jquery-validation/tree/master/src/localization 并在jquery.validate.jsjquery.validate.unobtrusive.js 之后包含了那个js 文件。我可以在开发人员工具中看到它正确包含在页面中,但错误消息仍然是英文。

我错过了什么吗?

【问题讨论】:

  • 您是否使用 Html 助手来生成表单控件?
  • 是的,我正在使用 Html 助手。

标签: jquery asp.net-mvc localization unobtrusive-validation


【解决方案1】:

错误消息是从控件的 html 属性(data-val-) 中检索的。 控件是使用属性的DataAnnotations 生成的服务器端(Html.EditorFor)。

所以例如代替

[Required(ErrorMessage = "Required")]
public string Email { get; set; }

你应该使用资源(.resx 文件)

[Required(ErrorMessageResourceType = typeof(Resource), ErrorMessageResourceName = "Required"]    
public string Email { get; set; }

确保Thread.CurrentThread.CurrentCultureThread.CurrentThread.CurrentUICulture 设置为所需的文化。

【讨论】:

  • 谢谢,它有效!我还有一个问题。是否可以全局定义该错误消息,因此我不必在需要必需属性的任何地方指定它。
  • 您希望每个视图模型上的每个属性都是必需的吗?
  • 我希望只能写 [Requried] 并且它会自动从 Resources.Required 中获取它。如果可以的话……
  • 只在一个地方定义它,比如一些全局属性覆盖。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2011-04-25
  • 1970-01-01
  • 2013-07-01
  • 1970-01-01
  • 1970-01-01
  • 2010-10-31
  • 2011-07-13
相关资源
最近更新 更多