PolandValidationAttributes 1.0.6
dotnet add package PolandValidationAttributes --version 1.0.6
NuGet\Install-Package PolandValidationAttributes -Version 1.0.6
<PackageReference Include="PolandValidationAttributes" Version="1.0.6"> <PrivateAssets>all</PrivateAssets> <IncludeAssets>runtime; build; native; contentfiles; analyzers</IncludeAssets> </PackageReference>
<PackageVersion Include="PolandValidationAttributes" Version="1.0.6" />
<PackageReference Include="PolandValidationAttributes"> <PrivateAssets>all</PrivateAssets> <IncludeAssets>runtime; build; native; contentfiles; analyzers</IncludeAssets> </PackageReference>
paket add PolandValidationAttributes --version 1.0.6
#r "nuget: PolandValidationAttributes, 1.0.6"
#:package PolandValidationAttributes@1.0.6
#addin nuget:?package=PolandValidationAttributes&version=1.0.6
#tool nuget:?package=PolandValidationAttributes&version=1.0.6
Dokumentacja:
http://blog.rockedge.pl/page/PolandValidationAttributes.aspx
Licencja:
http://blog.rockedge.pl/page/Licencja-do-Poland-Validation-Attributes-.aspx
Poland Validation Attributes - to płatna do komercyjnych zastosowań biblioteka której celem jest umożliwienie sprawdzenia wszystkich urzędowych numerów w Polsce.
W wersji 1.0.6 dostępne jest:
sprawdzanie numeru PESEL w dwóch wariantach:
PESEL poprawny wygenerowany na podstawie przyszłej daty urodzin zwróci błąd
PESEL poprawny wygenerowany na podstawie przyszłej daty urodzin będzie poprawny
generowanie numerów PESEL dla wybranej daty
sprawdzanie czy data urodzenia jest zgodna z numerem PESEL
sprawdzanie czy podana płeć jest zgodna z numerem PESEL
sprawdzanie poprawności polskiego kodu pocztowego
sprawdzanie czy kod pocztowy pasuje do poczty
Sprawdzanie numeru PESEL ma swoje ograniczenia. Na chwilę obecną wiemy jakie są/będą numery od roku 1800 do 2299.
Walidacja numeru PESEL
PolandValidationAttributes dostępny jest poprzez Nuget. Po ściągnięciu paczki przez nuget'a wystarczy dodać atrybut do własciwości w modelu:
using PolandValidationAttributes.Pesel.Attributes;
public class UserMaster
{
[Pesel(IsFutureAllowed = true)]
public string Pesel { get; set; }
[Pesel(IsFutureAllowed = false)]
public string PeselPresent { get; set; }
}
Parametr IsFutureAllowed jest nieobowiązkowy, domyślnie przyjmuje wartość false. Wartość: 14711204228 dla Pesel będzie poprawna natomiast dla właściwości PeselPresent już nie (data urodzenia wg pesel: 2214-11-12). Zastosowanie tych atrybutów testowałem w aplikacji webowej ASP.NET MVC.
Generowanie numeru PESEL
Biblioteka posiada także klasę do generowania numerów PESEL: PeselGenerator(), aby z niej skorzystać wystarczy jej użyć w sposób pokazany poniżej, na podstawie daty zwraca listę możliwych do przypisania numerów PESEL.
public void GenerujNumeryPesel()
{
var pesel = new PolandValidationAttributes.PeselGenerator();
var pesele = pesel.Generate(new DateTime(1988, 10, 30));
}
Walidacja daty urodzenia z użyciem numeru PESEL
[Pesel(IsFutureAllowed = true)]
public string Pesel { get; set; }
[BirthdayMatchPesel("Pesel")] // "Pesel" - to nazwa właściwości powyżej
public DateTime DataUrodzenia { get; set; }
Walidacja płci z użycie numeru PESEL
[Pesel(IsFutureAllowed = true)]
public string Pesel { get; set; }
[GenderMatchPesel("Pesel", Male = "Mężczyzna", Female = "Kobieta")]
public string Plec { get; set; }
[GenderMatchPesel("Pesel", Male = 0, Female = 1)]
public bool PlecBool { get; set; }
[GenderMatchPesel("Pesel", Male = PlecMvc.Men, Female = PlecMvc.Women)]
public PlecMvc PlecEnum { get; set; }
Przy czym PlecMvc to enum w warstwie prezentacji. Na tą chwilę może walidować płeć dla stringów, boolów i enumów.
public enum PlecMvc
{
Men,
Women
}
Walidacja kodu pocztowego
Kod pocztowy może być podany w formie: 00-000 lub 00000.
Aby móc użyć walidatora kodu pocztowego należy użyć kodu poniżej:
using PolandValidationAttributes.PostCode.Attributes;
public class PowerUser
{
[PostCode]
public string KodPocztowy { get; set; }
}
Chcąc zwalidować gminę na podstawie kodu pocztowego:
using PolandValidationAttributes.PostCode.Attributes;
public class PowerUser
{
[PostCode]
public string KodPocztowy { get; set; }
[PostMatchCode("KodPocztowy")]
public string Poczta { get; set; }
}
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET Framework | net40 is compatible. net403 was computed. net45 was computed. net451 was computed. net452 was computed. net46 was computed. net461 was computed. net462 was computed. net463 was computed. net47 was computed. net471 was computed. net472 was computed. net48 was computed. net481 was computed. |
This package has no dependencies.
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 1.0.6 | 631 | 11/4/2014 |
1.0.0 - 1.0.3 walidacja pesel
1.0.4 - 1.0.5 walidacja daty urodziny + walidacja płci
1.0.6 - walidacja kodu pocztowego, walidacja kodu pocztowego + poczty