我有一个实现IValidatableObject的模型,我需要本地化ValidationResults,我该如何正确实现呢?
目前我想出了一个IValidatableObject.Validate方法,如下所示:
public IEnumerableValidate(ValidationContext validationContext) { var stringLocalizer = validationContext.GetService(typeof(IStringLocalizer )) as IStringLocalizer ; //Validation logic implementation... yield return new ValidationResult(stringLocalizer["This thing is the error message"]); }
我在这里做的是使用ValidationContext.GetService方法定位IStringLocalizer实例.
这种方法有效,但我的主要问题是我不完全确定这是正确的,特别是因为我需要依赖服务定位器来获取IStringLocalizer