• Home
  • /
  • Geek
  • /
  • Validare Laravel: extend vs extendImplicit

Validare Laravel: extend vs extendImplicit


Voi incepe de azi inainte sa transform blogul meu in ceva mai geeky. Si voi incerca in fiecare zi sau la un interval mai regulat sa postez ceva ce am invatat recent. Bun, sa trecem la subiect.

Ieri intr-o aplicatie am avut urmatorul scenariu: a trebuit sa fac o regula de validare custom si sa fac un camp required, doar cand un alt camp este true. Pentru asta, am facut urmatoarea regula:

Tin sa mai precizez ca eu am vrut sa validez un array, deci mai multe randuri. Am facut urmatoarele reguli de validare:

Deci simplu, fiecare rand din notifications trebuie sa aiba period si value doar atunci cand active este true.

Problema care am intampinat-o eu este urmatoarea: atunci cand value era null, pur si simplu aplicatia nu intra in regula mea de validare. M-am chinuit ceva timp, dar apoi m-am gandit sa merg la documentatie (de ce nu am facut asta din prima nu stiu). Acolo am gasit asa:

For a rule to run even when an attribute is empty, the rule must imply that the attribute is required. To create such an “implicit” extension, use the Validator::extendImplicit() method:

Deci, m-am chinuit minute bune degeaba cand tot ce trebuia sa fac este sa apelez functia statica extendImplicit in loc de cea simpla extend.

Ce avem de invatat de aici?

Pentru ca o regula custom in Laravel sa fie evaluata chiar daca valoarea este null sau empty, trebuie sa extindem validatorul cu functia extendImplicit. Este atat de simplu.

Vezi ce alte lucruri am mai invatat in alte zile urmarind postari similare: toate postarile “azi am invatat”.

Sunt doar eu… un tip care are 24 ani si isi traieste viata cum poate mai bine. Restu aflii din postarile mele sau din pagina “despre mine” pe care o gasiti in dreapta, la meniu. Va salut pe toti, multumesc ca imi cititi gandurile… aveti super-puterea de a citi ganduri :)).

Leave a Reply