![]() |
![]() |
![]() ![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 31 Pomógł: 0 Dołączył: 4.07.2011 Ostrzeżenie: (0%) ![]() ![]() |
Witam, chciałbym przedstawić moją klasę na walidacje pola select.
Chodzi o to, by w naszym polu select nie została wpisana wartość, której nie chcemy, oczywiście możecie to sprawdzić za pomocą kilki warunków (czym dłuższy select tym dłuższy warunek) Na potrzeby swojego skryptu napisałem klasę, która waliduje nasz select. Jak z niej korzystać? Dołączamy plik selectvalidate.class.php
Następnie tworzymy obiekt z nazwą selecta, ja nazwałem wojewodztwo:
Dodajemy do niego optiony metodą:
Następnie wyświetlamy nasz select w formularzu:
Jeśli chcemy go sprawdzić, na poczatku pobieramy wartośc z tego selecta o nazwie wojewodztwo:
I sprawdzamy, czy wartośc jest poprawna:
selectvalidate.class.php:
Przykład zastosowania:
Jest to moja pierwsza zabawka w php obiektowym, prosiłbym o oceny (IMG:style_emoticons/default/smile.gif) Ten post edytował wlodziu 17.02.2013, 09:54:59 |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Moderatorzy Postów: 6 072 Pomógł: 861 Dołączył: 10.12.2003 Skąd: Dąbrowa Górnicza ![]() |
Generalnie zgadzam się z CuteOne, ale skoro koniecznie chcesz opinii to:
1. Wszystkie składowe są publiczne. Nie deklarujesz ich jako protected/private więc domyślnie są publiczne. 2. Po co Ci 2 składowe option i value? Możesz to przecież zrobić na 1 tablicy. 3. Masz metodę dodawania opcji, a gdzie metoda usuwania? 4. Metoda showSelect nie pozwala na wstawienie atrybutów HTML select'a. Nie można nadać mu np. klasy albo id. 5. $i <= $count - 1 jest w sumie bez sensu. To samo osiągniesz poprzez $i < $count. 6. W validateSelect robisz zbędne iteracje pętli. Jeśli dany element istnieje to od razu zwróć TRUE, a nie przeszukuj kolejnych elementów. 7. W validateSelect wystarczyłoby skorzystać z in_array(). Jeśli option i value przerobiłbyś na 1 tablicę to wystarczyłoby isset / array_key_exists. |
|
|
![]() ![]() |
![]() |
Aktualny czas: 16.10.2025 - 06:24 |