【发布时间】:2015-06-26 21:55:53
【问题描述】:
我们在Required属性的本地化中遇到了一个奇怪的错误。
我们有以下代码:
public class AnswersGroupViewModel
{
public int IDAnswerGroup { get; set; }
public int IDEvaluator { get; set; }
public List<AnswersViewModel> Answers { get; set; }
}
public class AnswersViewModel
{
public string Text{ get; set; }
[Required(ErrorMessageResourceName = "RequiredMessage", ErrorMessageResourceType = typeof(Resources.Language))]
public int IDAnswer{ get; set; }
}
问题是“RequiredMessage”的正确翻译没有从资源文件中提取,尽管它存在(我们在西班牙语和俄语资源文件中都有RequiredMessage)。
Display 等属性正在工作并正在翻译,但似乎是Required 属性的问题。
这是一个示例图像:
错误以@Html.ValidationMessage 显示
提前感谢您的帮助。
【问题讨论】:
-
您的翻译看起来像“请输入{0}”吗?显然请输入将是俄语或其他,我问你是否包括{0}。
-
在这种情况下不是。只需要一条说明该字段的消息。
-
问题是否只涉及客户端验证或服务器端验证或两者兼而有之?
-
验证在服务器上执行。 ModelState.IsValid 为 false 所以返回给 View
-
技术上不正确。验证在服务器上配置,但它在客户端上强制执行,并且可选地在模型检查上执行
标签: c# asp.net asp.net-mvc validation data-annotations