Am facut un nou pachet de PHP pentru Composer pentru validarea unui Cnp. Este mic, dar l-am creeat pentru ca asa ceva nu exista pe Composer si am vrut sa fac asta dupa ultimile standarde (testing, CI, composer).
Cum instalez pachetul?
composer require filipac/cnp ~1.0
https://www.youtube.com/watch?v=DlHQKygnd_E
Cum folosesc acest pachet?
Clasa Cnp
are 2 metode publice statice: valid
care returneaza un boolean (true, false). Este disponibila si functia invalid
care este practic functia valid, dar negata.
<?php use FilipacCnpCnp; if(Cnp::valid('1930101021162')) #true echo 'Cnp-ul este valid'; if(! Cnp::valid('1930101021161')) #false echo 'Cnp-ul este invalid'; if(Cnp::invalid('1930101021161')) #true echo 'Cnp-ul este invalid'; if(!Cnp::invalid('1930101021162')) #false echo 'Cnp-ul este valid'; ?>
Update:
Incepand de la versiune 1.0.3 am introdus si un ServiceProvider pentru Laravel 5 in caz ca vreti sa folositi acest validator la un form. Tot ce trebuie sa faceti este sa puneti in app.php
urmatorul service provider: 'Filipac\Cnp\Laravel\CnpValidatorProvider',
dupa care puteti sa folositi validatorul la orice FormRequest sau Validator in felul urmator:
public function rules() { return [ 'cnp' => 'required|max:13|cnp', ]; }
Sau:
Validator::make($data, [ 'cnp' => 'required|max:13|cnp', ])
Cum sa contribui?
Daca ai idei de imbunatatire a acestui script, da fork acestui repository, fa modificarile necesare si apoi da un pull-request. Nu uita sa scrii un test (vezi tests/CnpTest.php
) pentru ce ai implementat, altfel nu voi accepta request-ul. Testarea se face cu PhpUnit.
Licienta
Acest script este distribuit sub licienta MIT.
Good work! 😉