Asp .Net Identity Validation Mesajlarının Türkçeleştirilmesi

Merhabalar, bu yazımda Asp .Net Identity Validation Mesajlarını Türkçeleştirme işini yapacağız. Default olarak İngilizce gelen mesajları override ile hepsini çevirebileceğiz. Hemen başlayalım.

Ben bu yazımda bir tane örnek göstereceğim.

  • InvalidUserName

Örneğin bir kayıt ekranında geçersiz bir UserName girildiğinde gösterilen İngilizce mesaj aşağıdaki gibidir.


Türkçeleştirme işini yapmak için İlk olarak CustomIdentityDescriber.cs adında bir class oluşturuyoruz. Oluşturduğumuz bu classı “IdentityErrorDescriber” classından miras alıyoruz.

public class CustomIdentityDescriber : IdentityErrorDescriber
    {
    }

Türkçeleştirme işini override metotları ile yapacağız. Override yazıp boşluk bıraktığımızda bize tüm hata metotlarının overridelarını gösteriyor.

ve gelen metotlardan bizim istediğimiz InvalidUserName metodunu buluyoruz ve override ediyoruz.

 public class CustomIdentityDescriber : IdentityErrorDescriber
    {
        public override IdentityError InvalidUserName(string userName)
        {
            return base.InvalidUserName(userName);
        }
    }

Return de default olarak İngilizce dönüyor onu kaldırıyoruz. Göstereceğim şekilde yapıyı düzenliyoruz.

public override IdentityError InvalidUserName(string userName)
    {
        return new IdentityError()
        {
            Code = "InvalidUserName",
            Description = $"Seçilen {userName} geçersizdir."
        };
    }

Evet Türkçeleştirme metodumuzu yazdık. Şimdi bunun çalışması için gerekli kodu yazalım. Onun için Startup.cs classına gidiyoruz ve “AddErrorDescriber()” kod parçasını ekliyoruz.

 public void ConfigureServices(IServiceCollection services)
        {
            //
            services.AddIdentity<AppUser, IdentityRole>().
              AddErrorDescriber<CustomIdentityDescriber>().
            AddEntityFrameworkStores<AppIdentityDbContext>().
          AddDefaultTokenProviders();
            //
        }

Tüm işlem bu kadar artık validation mesajımızı Türkçe hale getirdik.

Evet yazımın sonuna geldik öğrenilen yapıyla yirmiye yakın override metodu ile istediğiniz validationın Türkçeleştirme işlemi yapabilirsiniz. Bir sonraki yazımda görüşmek üzere. Sağlıcakla kalın.

Kaynak

https://docs.microsoft.com/tr-tr/aspnet/identity/overview/getting-started/introduction-to-aspnet-identity

Bir cevap yazın