Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/amastaneh/persiandataannotations
PersianDataAnnotations is ASP.NET Core MVC & ASP.NET MVC Custom Localization DataAnnotations (Localized MVC Errors) for Persian(Farsi) language - فارسی سازی خطاهای اعتبارسنجی توکار ام.وی.سی. و کور.ام.وی.سی. برای نمایش اعتبار سنجی سمت کلاینت
https://github.com/amastaneh/persiandataannotations
asp-net asp-net-core asp-net-core-mvc asp-net-mvc aspnetcore csharp data-annotation data-annotations dataannotations farsi iran localization localization-dataannotations localized-dataannotations mvc mvc5 mvc6 net-mvc nuget persian
Last synced: 3 months ago
JSON representation
PersianDataAnnotations is ASP.NET Core MVC & ASP.NET MVC Custom Localization DataAnnotations (Localized MVC Errors) for Persian(Farsi) language - فارسی سازی خطاهای اعتبارسنجی توکار ام.وی.سی. و کور.ام.وی.سی. برای نمایش اعتبار سنجی سمت کلاینت
- Host: GitHub
- URL: https://github.com/amastaneh/persiandataannotations
- Owner: amastaneh
- Created: 2015-05-06T12:09:29.000Z (over 9 years ago)
- Default Branch: master
- Last Pushed: 2020-12-21T01:56:02.000Z (about 4 years ago)
- Last Synced: 2024-11-03T06:42:58.303Z (3 months ago)
- Topics: asp-net, asp-net-core, asp-net-core-mvc, asp-net-mvc, aspnetcore, csharp, data-annotation, data-annotations, dataannotations, farsi, iran, localization, localization-dataannotations, localized-dataannotations, mvc, mvc5, mvc6, net-mvc, nuget, persian
- Language: C#
- Homepage:
- Size: 212 KB
- Stars: 43
- Watchers: 6
- Forks: 12
- Open Issues: 6
-
Metadata Files:
- Readme: README.md
- Funding: .github/FUNDING.yml
Awesome Lists containing this project
README
## Persian DataAnnotations
[![Gitter](https://badges.gitter.im/webdesigniran/PersianDataAnnotations.svg)](https://gitter.im/PersianDataAnnotations/Lobby?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge)Persian DataAnnotations as DataAnnotations localizer library, is a localization of System.ComponentModel.DataAnnotations for Persian (Farsi) language. It's useful for Persian ASP.NET Core MVC & ASP.NET MVC based applications. The localization of built-in resource of DataAnnotations is a bit hard to work (specialy in ASP.NET MVC) and this library helps your project for localization error messages just with single call a method. `Fork` and `Translate` RESX resources for your language ;-)
🌟 If you ❤️ library, please star it! 🌟
## اعتبار سنجی کنترل ها در .NET با Data Annotation ها
استفاده از `DataAnnotation` ها و افزودن `[Required]` یا `[DataType(DataType.Password)]` یا دیگر `Attribute` ها، کار اعتبارسنجی سمت کلاینت را بسیار ساده کرده است. برای فارسی سازی مقادیر پیش فرض کافی است این کتابخانه را با استفاده [نیوگت / NuGet](https://nuget.org/packages/PersianDataAnnotations) یا به صورت دستی به پروژه اضافه کنید.## شیوه استفاده در ASP.NET Core MVC
1- با استفاده از [نیوگت / NuGet](https://nuget.org/packages/PersianDataAnnotationsCore) به سادگی می توانید این کتابخانه را به پروژه خود اضافه کنید
```
PM> Install-Package PersianDataAnnotationsCore
```
2- فقط همین یک خط را اضافه کنید و کار تمام میشود```c#
public void ConfigureServices(IServiceCollection services)
{
services.AddMvc(options => options.ModelMetadataDetailsProviders.Add(new PersianDataAnnotationsCore.PersianValidationMetadataProvider()));
}
```## شیوه استفاده در ASP.NET MVC
1- با استفاده از [نیوگت / NuGet](https://nuget.org/packages/PersianDataAnnotations) به سادگی می توانید این کتابخانه را به پروژه خود اضافه کنید
```
PM> Install-Package PersianDataAnnotations -Version
```2- یعنی فقط همین یک خط را اضافه کنید و کار تمام میشود
```c#
protected void Application_Start()
{
PersianDataAnnotations.PersianDataAnnotations.Register();
}
```3- فارسی سازی خطاهای مربوط به رمز عبور و قسمت ثبت نام
```c#
public static ApplicationUserManager Create(IdentityFactoryOptions options, IOwinContext context)
{
...
manager.PasswordValidator = new PasswordValidator
/// جایگزین شود با خط زیر
manager.PasswordValidator = new PersianPasswordValidator
...
}
```## دمو
برای مشاهده دمو می توانید به فرم عضویت یا ورود کاربران در [طراحی وب ایران](http://webdesigniran.com) مراجعه کنیدنمونه فارسی سازی خطاهای مربوط به رمز عبور
## ترجمه
هنوز احتمال دارد که خطاهایی فارسی نشده باشند. در نسخه های مربوط به پروژه های ASP.NET MVC یک متد استاتیک ترجمه نظیر به نظیر خطا هم اضافه شده که خطاها را می تواند قبل از نمایش تا حد امکان ترجمه کند.```c#
private void AddErrors(IdentityResult result)
{
foreach (var error in result.Errors)
{
ModelState.AddModelError("", PersianDataAnnotations.TranslateError.Translate(error));
}
}
```
متد بالا در کلاس های پیش فرض AccountController یا مشابه آن وجود دارد فقط به آن ترجمه متن خطا اضافه شده استالبته مشابه این متد استاتیک برای نسخه های ASP.NET Core MVC هم ارائه شده است
```c#
var result = PersianDataAnnotationsCore.PersianValidationMetadataProvider.ToPersian(value)
```## نکات
* امکان تغییر `Resource` برای جلوگیری از تکرار `ErrorMessageResourceType` در هنگام `RegisterAdapters` دیده شده است
* با جستجوی عنوان پروژه در `NuGet` می توانید از ابزار `NuGet` در ویژوال استودیو استفاده کنید و کتابخانه را به سادگی به پروژه اضافه کنید
* سعی شده نقطه از آخر پیام ها حذف شود برای انطباق بیشتر با برنامه های چپ به راست
* سعی شده پیام ها با فارسی روان نه پارسی بسیار ادبی و دور از ادبیات عامه بیان شود
* سعی شده از بیشتر از است به جای مصدر نادرست باشیدن استفاده شود## پشتیبانی
لطفا اگر ترجمه بهتری برای یک عبارت یافته اید
لطفا اگر مشکلی مشاهده کردید
لطفا اگر پیشنهادی دارید
- یا Fork & Pull کنید
- یا Share Issue کنید
- یا لااقل یه تلفن یا موبایل بزنید به [طراحی وب ایران](http://webdesigniran.com)The project is dedicated to public and is free for all uses, commercial or otherwise.
Supported by [Web Design Iran](http://webdesigniran.com)این پروژه تحت حمایت
[طراحی وب ایران](http://webdesigniran.com)
بوده و برای استفاده تجاری یا غیر تجاری، رایگان است