Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP]Laravel 5.3 - Validation
kamil_lk
post
Post #1





Grupa: Zarejestrowani
Postów: 325
Pomógł: 33
Dołączył: 31.05.2008

Ostrzeżenie: (0%)
-----


Hej,

Próbuję zwalidować formularz przygotowany pod wielojęzyczność
  1. <input type="text" name="lorem[1]">
  2. <input type="text" name="ipsum[1]">
  3.  
  4. <input type="text" name="lorem[2]">
  5. <input type="text" name="ipsum[2]">
  6. </form>


Zatrzymałem się w momencie, gdzie użytkownik wypełniając formularz nie chce dodać wersji w danym języku, tj. pozostawia te pola puste.
Czyli dane lecą np. takie:
Kod
lorem[1] = 'test';
ipsum[1] = 'test2';

lorem[2] = '';
ipsum[2] = '';


Z dokumentacji laravel wyczytałem, że jest możliwość wymuszenia uzupełnienia pola w przypadku, gdy inne pole zostało uzupełnione.
required_with_all:foo,bar,...

Poniżej przedstawiam mój sposób tworzenia tablicy do walidacji
  1. $langs = [1, 2]
  2. foreach($langs as $lang)
  3. {
  4. $validator['lorem['.$lang.']'] = "required_with_all:ipsum[$lang]|min:3";
  5. $validator['ipsum['.$lang.']'] = "required_with_all:lorem[$lang]|min:3";
  6. }
  7. $this->validate($request, $validator);


Jeszcze kilka przykładów poprawnej walidacji:
Kod
lorem[1] = 'test';
ipsum[1] = 'test2';

lorem[2] = '';
ipsum[2] = '';

Kod
lorem[1] = 'test';
ipsum[1] = 'test2';

lorem[2] = 'test3';
ipsum[2] = 'test4';

Kod
lorem[1] = '';
ipsum[1] = '';

lorem[2] = 'test3';
ipsum[2] = 'test4';


oraz niepoprawnej:
Kod
lorem[1] = '';
ipsum[1] = '';

lorem[2] = '';
ipsum[2] = '';

Kod
lorem[1] = 'test';
ipsum[1] = '';

lorem[2] = '';
ipsum[2] = '';

Kod
lorem[1] = 'test';
ipsum[1] = '';

lorem[2] = 'test3';
ipsum[2] = 'test4';


Ten post edytował kamil_lk 4.02.2017, 12:20:27
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 20.08.2025 - 06:06