Laravel validacija: vienas iš dviejų laukų privalomas

2014-09-24

Laravel turi puikų ir patogų Validator mechanizmą formos duomenų patikrinimui. Bet kartais mūsų taisyklės nėra tokios paprastos kaip "required" ar "integer". Sakykime, jei yra dvi adreso eilutės ir bent viena iš jų turi būti privaloma? Kaip tai užrašyti?

Pasirodo, tam yra mažiau žinoma Validator taisyklių grupė "required_without", į kurią įeina dvi taisyklės:

  • required_without: address1 - tai reiškia, kad laukas privalomas tik tada jei address1 reikšmė tuščia
  • required_without_all: address1,address2,... - tai reiškia, kad laukas privalomas tik tada jei visų išvardintų laukų reikšmės tuščios

Konkretus pavyzdys:

$rules = array(
  'address1' => 'required_without:address2',
  'address2' => 'required_without:address1');
$validator = Validator::make(Input::all(), $rules);

(Mailchimp sistema jums atsiųs patvirtinimo laišką, nepamirškite patvirtinti)


Komentarų: 1

Mangirdas (2014-09-24 13:05)

Nice. Iki šiol niekaip neradau gero pavadinimo tokiam validatoriui.





Naujausi PHPpamokos.lt online-kursai

23 EUR (79.41 Lt)
23 EUR (79.41 Lt)
23 EUR (79.41 Lt)
Nuo Laravel 4 prie Laravel 5
Povilas Korop

23 EUR (79.41 Lt)
MySQL: nuo pradmenų iki optimizavimo
Povilas Korop
23 EUR (79.41 Lt)
OOP: objektinis programavimas su PHP
Povilas Korop
23 EUR (79.41 Lt)
Kaip kurti Wordpress pluginus?
Arūnas Liuiza

23 EUR (79.41 Lt)
PHP online-kursas pradedantiesiems
Povilas Korop