iT邦幫忙

0

C# 客製化的ValidationAttribute如何加入Localization

Ks 2019-02-11 23:36:28274 瀏覽

我客製化了一個ValidationAttribute,

但我想在回傳錯誤時,擁有Localization多國語言的信息

有嘗試了以下的方式,但是這樣是不可行的,再Model使用SearchItem的部分會出錯.
感謝.

【已解決】

public class TestAttribute : ValidationAttribute
{
    protected override ValidationResult IsValid(object value, ValidationContext validationContext)
    {
        var search = value as IDictionary<string, string>;
        
        var _sharedResource = validationContext.GetService(typeof(IStringLocalizer<SharedResource>)) as IStringLocalizer<SharedResource>;
        
        if(search == null)
        {
            return new ValidationResult(_sharedResource["string must exist"]);
        }
        return ValidationResult.Success;
    }
}

Models
[TestItem]
public IDictionary<string, string> test { get; set; }
暐翰 iT邦大師 1 級 ‧ 2019-02-12 21:22:43 檢舉
報甚麼錯誤訊息呢?
Ks iT邦新手 4 級 ‧ 2019-02-14 21:00:52 檢舉
抱歉晚回覆了,問題解決了喔,非常感謝

尚未有邦友回答

立即登入回答