Skocz do zawartości
"Idzie nowe..." - o zmianach i nie tylko ×
Przeniesienie zakupów z IPS Marketplace / Moving bought items from IPS Marketplace ×

Walidacja danych formularza


Przejdź do rozwiązania Rozwiązane przez mrdrifter,

Rekomendowane odpowiedzi

Cześć. Mam(znowu) pewien zapewne prosty problem do rozwiązania. Mianowicie, w klasie Helpers\Form\Number istnieje metoda validate(), którą nie wiem jak zastosować potem w kodzie.

Tutaj przykładowy kod jak dodaje pole, potem nie wiem jak do tego się własnie odnieść w walidacji.

		$formChar->add( new \IPS\Helpers\Form\Number( 'gamecp_createchar_text_3', 5, TRUE,
		array( 'options' => array( 'min' => 5, 'max' => 100, 'range' => array('start' => array('min'=>5, 'max'=>5), 'end'=>array('min'=>100, 'max'=>100)))), NULL, NULL, NULL, '2' ) );

Z góry dzięki za pomoc.

Odnośnik do komentarza
Udostępnij na innych stronach

No z tego co widziałem przy tworzeniu pola w formularzu można ustalić w opcjach jaka jest minimalna i maksymalna wartość pola. Jak ustawiam 'min'=> na 5 to po wysłaniu formularza nie jest to automatycznie sprawdzane i przy wartości 1 zapytanie i tak zostanie przesłane. Chce to po prostu ograniczyć.

Odnośnik do komentarza
Udostępnij na innych stronach

  • Manager

Jedyne opcje tego pola to:

protected $defaultOptions = array(
  'min'    => 0,
  'max'    => NULL,
  'unlimited'   => NULL,
  'unlimitedLang'  => 'unlimited',
  'unlimitedToggles' => array(),
  'unlimitedToggleOn' => TRUE,
  'valueToggles'  => array(),
  'decimals'   => 0,
  'step'    => NULL,
  'range'    => FALSE,
  'disabled'   => FALSE,
  'endSuffix'   => NULL,
);

Źródło: system/Helpers/Form/Number.php

intermedia - profesjonalne rozwiązania Invision Power Board

---

Chcesz uzyskać szybko i sprawnie pomoc? Uzupełnij wersję i adres w profilu.

Odnośnik do komentarza
Udostępnij na innych stronach

Widziałem to, ale jak ustawiam opcję min i max na takie jakie chce, czyli 5 i 100 to dane nie są sprawdzane czy są większe od 5 i mniejsze od 100, stąd myślałem, że potrzeba wywołać jeszcze jakąś funkcje aby przeprowadzić walidację. 

Odnośnik do komentarza
Udostępnij na innych stronach

  • Rozwiązanie

Są walidowane dane u mnie w javascriptcie przed wyslaniem formularza. Może masz wyłączony javascript? jeśli kocznie chcesz to zrobić skryptowo lap kod (oczywiście do przerobienia)

	$form->add( new \IPS\Helpers\Form\Number( 'recruitment_wiek', 0, true,  array('min'=> 15,'max'=> 30), function( $val )
		{
			if(!in_array($val, range(15, 30)))
			{
				throw new \DomainException('recruitment_wiek_bad_value');
			}
		} ) ); 
  • Lubię to 1

forum.omegaelite.pl - forum miłośników opla omegi. 

Odnośnik do komentarza
Udostępnij na innych stronach

Gość
Ten temat został zamknięty. Brak możliwości dodania odpowiedzi.
  • Ostatnio przeglądający   0 użytkowników

    • Brak zarejestrowanych użytkowników przeglądających tę stronę.
×
×
  • Dodaj nową pozycję...

Powiadomienie o plikach cookie

Umieściliśmy na Twoim urządzeniu pliki cookie, aby pomóc Ci usprawnić przeglądanie strony. Możesz dostosować ustawienia plików cookie, w przeciwnym wypadku zakładamy, że wyrażasz na to zgodę.