![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
![]() Grupa: Zarejestrowani Postów: 2 707 Pomógł: 290 Dołączył: 16.12.2008 Skąd: Śląsk Ostrzeżenie: (0%) ![]() ![]() |
Czy ktoś ma pomysł na działanie takowej funkcji. Przydałaby mi się ona przed dodawaniem wielu pól numerycznych gdzie nie chce rzutowania na INT czyli zmieniania pustej wartości na 0. -------------------- |
|
|
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 387 Pomógł: 66 Dołączył: 31.03.2005 Skąd: Kielce Ostrzeżenie: (0%) ![]() ![]() |
Czy ktoś ma pomysł na działanie takowej funkcji. Przydałaby mi się ona przed dodawaniem wielu pól numerycznych gdzie nie chce rzutowania na INT czyli zmieniania pustej wartości na 0. W ogóle nie wiem o czym piszesz, bo funkcja jest gotowa, ja jednak bym to troszki uprościł:
-------------------- ..::: Jak pomogłem to kliknij pomógł. Tak rzadko używacie tej opcji :( :::..
|
|
|
![]()
Post
#3
|
|
![]() Grupa: Zarejestrowani Postów: 2 707 Pomógł: 290 Dołączył: 16.12.2008 Skąd: Śląsk Ostrzeżenie: (0%) ![]() ![]() |
Uproszczenie zaburza funkcjonalność - ma zmieniać tylko wartości puste typu string na NULL, wartość zero jest już poprawna i nie chce jest NULLować.
Twoja funkcja nie zadziała gdy przekażemy argumenty w takiej postaci jak pokazałem (tylko wartościami), a trzeba przekazać tablicę asocjacyjną, a to już wydaje mi się zbyt czasochłonne i wolę już to obsługiwać wtedy bez funkcji. Ten post edytował markonix 13.10.2012, 21:50:13 -------------------- |
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 2 885 Pomógł: 463 Dołączył: 3.10.2009 Skąd: Wrocław Ostrzeżenie: (0%) ![]() ![]() |
http://stackoverflow.com/questions/26007/i...-in-php#2149106 -------------------- Nie pomagam na pw, tylko forum.
|
|
|
![]()
Post
#5
|
|
![]() Grupa: Moderatorzy Postów: 4 362 Pomógł: 714 Dołączył: 12.02.2009 Skąd: Jak się położę tak leżę :D ![]() |
A dlaczego przy porównaniu nie sprawdzisz typu? $zmienna == '' i $zmienna === '' to dwie nieco inne rzeczy i warto nieraz z tego rozróżnienia korzystać.
-------------------- Najpierw był manual... Jeśli tam nie zawarto słów mądrości to zapytaj wszechwiedzącego Google zadając mu własciwe pytania. A jeśli i on milczy to Twój problem nie istnieje :D
|
|
|
![]()
Post
#6
|
|
![]() Grupa: Zarejestrowani Postów: 387 Pomógł: 66 Dołączył: 31.03.2005 Skąd: Kielce Ostrzeżenie: (0%) ![]() ![]() |
Nie za bardzo nadal rozumiem pytanie i uderzam w ciemno ale mam nadzieję, że pomogę.
Jeśli chodzi o to czy nie puste i nie int 0 to daj prosty warunek
-------------------- ..::: Jak pomogłem to kliknij pomógł. Tak rzadko używacie tej opcji :( :::..
|
|
|
![]()
Post
#7
|
|
![]() Grupa: Zarejestrowani Postów: 2 707 Pomógł: 290 Dołączył: 16.12.2008 Skąd: Śląsk Ostrzeżenie: (0%) ![]() ![]() |
thek - dzięki za uwagę, faktycznie tutaj jest do dla mnie wręcz obowiązkowe (dam potem pomógł żeby nie oznaczać tematu
![]() darko - nie rozumiem zupełnie w czym mi to ma pomóc.
Chce po prostu ubrać powyższe w jakąś uniwersalną funkcję (helper) bo czuje, że nie raz mi się to jeszcze przyda. Ten post edytował markonix 13.10.2012, 22:25:08 -------------------- |
|
|
![]()
Post
#8
|
|
![]() Grupa: Moderatorzy Postów: 4 362 Pomógł: 714 Dołączył: 12.02.2009 Skąd: Jak się położę tak leżę :D ![]() |
Darko podrzucił Ci sposób iteracji przez tablice. Ja ze swojej strony ciutkę bym zmodyfikował formularz. Pamiętaj że w html5 weszło definiowanie typu, które śmiało możesz wykorzystać i tu. W końcu jako osoba, która tworzy/generuje formularz, możesz oprzeć się o wszystko co tam pchniesz. A gdybyś tak zdefiniował typ inputa, to czemu by tego nie wykorzystać? Walisz sobie <input type="number" /> (defaultowo, jeśli przeglądarka nie obsługuje, uznaje nowe typy za zwykły text, więc masz fallback) i przy walidacji możesz użyć ctype_digit, is_int czy inne takie, a wtedy zareagować. Zrób więc helper formularza.
-------------------- Najpierw był manual... Jeśli tam nie zawarto słów mądrości to zapytaj wszechwiedzącego Google zadając mu własciwe pytania. A jeśli i on milczy to Twój problem nie istnieje :D
|
|
|
![]()
Post
#9
|
|
![]() Grupa: Zarejestrowani Postów: 2 707 Pomógł: 290 Dołączył: 16.12.2008 Skąd: Śląsk Ostrzeżenie: (0%) ![]() ![]() |
Niestety widoki to nie moja działka tak więc wolałbym serwerowa rozwiązanie
![]() Poza tym firefox nawet numbersów jeszcze nie obsługuje.. -------------------- |
|
|
![]()
Post
#10
|
|
![]() Grupa: Moderatorzy Postów: 4 362 Pomógł: 714 Dołączył: 12.02.2009 Skąd: Jak się położę tak leżę :D ![]() |
Ale ja mówię o serwerowej wersji. Widok jest generowany na podstawie tego, co dajesz na wejściu do generatora formularza. A typ można przecież określić jako parametr elementu formularza. Zresztą najczęściej wszelkie generatory wymagają go, by określić z jakim typem pola mamy do czynienia ( input wszak może już teraz przyjąć: hidden, radio, text, checkbox). Dodanie kolejnych to nie problem. Nowe typy jednakże są obsługiwane jedynie client-side i po stronie serwera też muszą być walidowane. Teraz wystarczy jedynie zdefiniować abstrakcyjną klasę bazową Field z paroma własnościami i metodami, z której będziesz dziedziczył tworząc textarea czy input. Jedną z własności abstrakcyjnych będzie zapewne type i metody setType, getType, isValid. To właśnie w tej ostatniej sobie walidację ładnie na podstawie ustalonej dla danego pola formularza własności Type sprawdzisz. Jak? Z requesta bindujesz do zdefiniowanego formularza wartości z $_POST i przeprowadzasz walidację. Jeśli jest Ok, to zapis i forward na jakąś stronę... Jeśli nie, bindujesz form do widoku i wyświetlasz. Zauważ, że tutaj wszystko się dzieje server-side. Nic nie robisz po stronie klienta. A sam formularz to byłby zapewne kolejny obiekt, który trzymałby po prostu obiekty klas dziedziczonych po Field. To co chcesz zrobić, byłoby albo osobnym obiektem, albo związane z obiektem kasy Validation, jeśli taką przewidujesz.
Powód edycji: [thek]: Taka informacja... input type="number" obsługuje Opera i Chrome. Fx pewnie niedługo dołączy.
-------------------- Najpierw był manual... Jeśli tam nie zawarto słów mądrości to zapytaj wszechwiedzącego Google zadając mu własciwe pytania. A jeśli i on milczy to Twój problem nie istnieje :D
|
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 18.08.2025 - 18:42 |