【发布时间】:2011-11-06 00:10:09
【问题描述】:
在我的 ASP.NET MVC3 站点中,我使用以下作为视图模型:
using DataResources = Namespace.For.The.Localization.Resources.IndexViewModel;
public class IndexViewModel, IValidatableObject {
private string _field1_check_value = "foo";
private string _field2_check_value = "bar";
[Required(ErrorMessageResourceName="Validation_Field1_Required", ErrorMessageResourceType=typeof(DataResources))]
[DataType(DataType.Text)]
public string Field1 { get; set; }
[Required(ErrorMessageResourceName="Validation_Field2_Required", ErrorMessageResourceType=typeof(DataResources))]
[DataType(DataType.Field2)]
public string Field2 { get; set; }
public IEnumerable<ValidationResult> Validate(ValidationContext validationContext) {
if (!(Field1.Equals(_field1_check_value) && Field2.Equals(_field2_check_value))) {
string[] memberNames = { "Field1", "Field2" };
yield return new ValidationResult(DataResources.Validation_InvalidCredentials, memberNames);
}
}
}
当使用非默认文化查看网站时,Required 验证消息已正确本地化。但是,Validate 方法返回的消息始终采用默认区域性。
有没有办法正确本地化IValidatableObject.Validate 消息?
【问题讨论】:
标签: asp.net-mvc-3 localization ivalidatableobject