eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.comp.www › Sprawdzanie poprawności formularzy
Ilość wypowiedzi w tym wątku: 28

  • 11. Data: 2009-01-23 08:17:42
    Temat: Re: Sprawdzanie poprawności formularzy
    Od: Maciej Łebkowski <m...@e...com>

    Dnia 22-01-2009 o 22:30:29 Mirosław Zalewski <miniopl@cut_this.gmail.com> napisał(a):

    > Tylko, jeżeli się nie mylę, nie masz racji co do konsekwencji --
    > wywołanie alert() nie wpływa na zatrzymanie wysyłania formularza. W
    > przypadku gdy formularz będzie wypełniony poprawnie a przeglądarka nie
    > będzie obsługiwała modelu DOM, po kliknięciu <input type="submit">
    > pojawi się puste okienko. Po kliknięciu ,,ok" nastąpi normalne wysyłanie
    > formularza.

    AFAIR puste okienka alert się nie świecą... Correct me if im wrong.


    --
    Maciej Łebkowski


  • 12. Data: 2009-01-23 21:35:41
    Temat: Re: Sprawdzanie poprawności formularzy
    Od: Mirosław Zalewski <miniopl@CUT_THIS.gmail.com>

    styczeń roku pamiętnego 2009, prawdopodobnie 23. Wielka mądrość na
    czytelników pl.comp.www spłynęła, gdy tako rzekł(a) Maciej Łebkowski:

    > AFAIR puste okienka alert się nie świecą... Correct me if im wrong.

    Empirycznie nie potwierdzam. Zmienna jest wcześniej inicjowana i
    deklarowana jako pusta (var errorstring = ''), a w takim przypadku
    zarówno Opera jak i Firefox pokazują puste okienko. Na tej podstawie
    wierzę, że inne przeglądarki zachowają się podobnie.

    Jeżeli chodzi o wywołanie alert() bez żadnych argumentów, O wyświetli
    takie okienko a Fx nie. Więc, jak widać, reguły niestety nie ma.
    --
    Niżej podpisany, zamieszkały w http://minio.xt.pl ,
    Mirosław Zalewski


  • 13. Data: 2009-01-23 22:32:59
    Temat: Re: Sprawdzanie poprawności formularzy
    Od: "Gabriel" <z...@p...fm>


    Użytkownik "Mirosław Zalewski" <miniopl@CUT_THIS.gmail.com> napisał w
    wiadomości news:20090123223541.32bf8ba0@pingwin.place.you.dont.
    want.to.be...

    A to przerobiony nieco kod PPK (z uwzglednieniem tej naszej dyskusji):

    var W3CDOM = (document.getElementsByTagName && document.createElement);

    function validate() {
    validForm = true;
    firstError = null;
    errorstring = '';
    var x = document.forms[0].elements;
    for (var i=0;i<x.length;i++) {
    if
    ((!x[i].value)&&(x[i].nodeName.toUpperCase()!="FIELD
    SET")&&(x[i].type.toUppe
    rCase()!="HIDDEN")&&(x[i].type.toUpperCase()!="SUBMI
    T"))
    writeError(x[i],'To pole jest wymagane');
    }

    if (x['email'].value.indexOf('@') == -1)
    {
    writeError(x['email'],'Podaj poprawny adres email');
    return false;
    }

    if (!W3CDOM)
    {
    return true;
    }

    if (firstError)
    {
    firstError.focus();
    }

    if (validForm)
    {
    return true;
    }

    return validForm;

    }

    function writeError(obj,message) {
    validForm = false;
    if (obj.hasError) return;
    if (W3CDOM) {
    obj.className += ' error';
    obj.onchange = removeError;
    var sp = document.createElement('span');
    sp.className = 'error';
    sp.appendChild(document.createTextNode(message));
    obj.parentNode.appendChild(sp);
    obj.hasError = sp;
    }
    else {
    errorstring += obj.name + ': ' + message + '\n';
    obj.hasError = true;
    }
    if (!firstError)
    firstError = obj;
    }

    function removeError()
    {
    this.className = this.className.substring(0,this.className.lastIndexO
    f('
    '));
    this.parentNode.removeChild(this.hasError);
    this.hasError = null;
    this.onchange = null;
    }

    Wywolywany jest w formularzu poprzez onsubmit="return validate();"

    Gdyby ktos mial jakies uwagi, to smialo:)



    --
    Pozdrawiam
    Gabriel Zastawnik
    http://www.sigsoft.pl - Monitoring Komputera



  • 14. Data: 2009-01-24 09:48:11
    Temat: Re: Sprawdzanie poprawności formularzy
    Od: "Gabriel" <z...@p...fm>


    Użytkownik "Gabriel" <z...@p...fm> napisał w wiadomości
    news:gldgko$arj$1@atlantis.news.neostrada.pl...

    Mala poprawka, zeby bylo bardziej uniwersalnie - wywolanie funkcji poprzez
    validate(nazwa_formularza);

    var W3CDOM = (document.getElementsByTagName && document.createElement);

    function validate(formName) {
    validForm = true;
    firstError = null;
    errorstring = '';
    var x = document.forms[formName].elements;
    for (var i=0;i<x.length;i++) {
    if
    ((!x[i].value)&&(x[i].nodeName.toUpperCase()!="FIELD
    SET")&&(x[i].type.toUppe
    rCase()!="HIDDEN")&&(x[i].type.toUpperCase()!="SUBMI
    T"))
    writeError(x[i],'To pole jest wymagane');
    }

    if (x['email'].value.indexOf('@') == -1)
    {
    writeError(x['email'],'Podaj poprawny adres email');
    return false;
    }

    if (!W3CDOM)
    {
    return true;
    }

    if (firstError)
    {
    firstError.focus();
    }

    if (validForm)
    {
    return true;
    }

    return validForm;

    }

    function writeError(obj,message) {
    validForm = false;
    if (obj.hasError) return;
    if (W3CDOM) {
    obj.className += ' error';
    obj.onchange = removeError;
    var sp = document.createElement('span');
    sp.className = 'error';
    sp.appendChild(document.createTextNode(message));
    obj.parentNode.appendChild(sp);
    obj.hasError = sp;
    }
    else {
    errorstring += obj.name + ': ' + message + '\n';
    obj.hasError = true;
    }
    if (!firstError)
    firstError = obj;
    }

    function removeError()
    {
    this.className = this.className.substring(0,this.className.lastIndexO
    f('
    '));
    this.parentNode.removeChild(this.hasError);
    this.hasError = null;
    this.onchange = null;
    }



    --
    Pozdrawiam
    Gabriel Zastawnik
    http://www.sigsoft.pl - Monitoring Komputera



  • 15. Data: 2009-01-24 09:58:48
    Temat: Re: Sprawdzanie poprawności formularzy
    Od: Paweł Piskorz <n...@p...nie?>

    Gabriel pisze:
    > Moj kod formularza:
    > <form action="send.php" method="post" id="formularz_pytania_uwagi"
    > onsubmit="return validate();">
    > <fieldset>
    [8<]
    > <input name="przycisk" type="submit" value="wyślij" class="przycisk" />
    > </fieldset>
    > </form>
    >
    > Czyli - najprostszy z mozliwych.
    >
    > Kod umieszczony na w/w stronie sprawdza kolejne elementy danego formularza
    > poczawszy od i=0 do liczby elementow zawartych w formularzu:
    > for (var i=0;i<x.length;i++) {
    > if (!x[i].value)
    > writeError(x[i],'This field is required');
    > }
    >
    [8<]
    > No i po co sprawdzac element ostatni, czyli przycisk "wyslij" ?

    A czemu nie? I tak ma on zawsze value, więc po co się męczyć z
    wykluczeniem go?


    --
    message[autor="PablO"]::after {
    content:"Pozdrawiam";
    }


  • 16. Data: 2009-01-24 10:07:06
    Temat: Re: Sprawdzanie poprawności formularzy
    Od: "Gabriel" <z...@p...fm>


    Użytkownik "Paweł Piskorz" <n...@p...nie?> napisał w wiadomości
    news:gleooo$2ps$1@inews.gazeta.pl...
    > A czemu nie? I tak ma on zawsze value, więc po co się męczyć z
    > wykluczeniem go?

    No po to, ze IMO skoro skrypt ma sluzyc poprawnosci wpisania danych przez
    uzytkownika, to po co ma sprawdzac dane niewpisywane przez uzytkownika:)
    Post wyzej juz zreszta poradzilem sobie z tym odpowiednio modyfikujac skrypt
    PPK.


    --
    Pozdrawiam
    Gabriel Zastawnik
    http://www.sigsoft.pl - Monitoring Komputera



  • 17. Data: 2009-01-24 11:44:17
    Temat: [OT] Re: Sprawdzanie poprawności formularzy
    Od: ethanak <s...@b...pl>

    Dnia Sat, 24 Jan 2009 11:07:06 +0100, Gabriel napisał(a):

    > No po to, ze IMO skoro skrypt ma sluzyc poprawnosci wpisania danych
    > przez uzytkownika, to po co ma sprawdzac dane niewpisywane przez
    > uzytkownika:)

    Ja tak się przyglądam dyspucie i zastanawiam... która to z dzisiejszych
    przeglądarek nie obsługuje DOM2?[1]

    Poza tym... nie prościej sprawdzać czy pole jest typu "text" niż czy pole
    nie jest typu [lista typów]?

    Ja rozumiem że to dysputa czysto teoretyczna i nikt przy zdrowych
    zmysłach nie będzie tego w rzeczywistym świecie stosować :)

    ethanak
    [1] Ja wiem.
    --
    mailto=window.atob('ZXRoYW5ha0Bwb2xpcC5jb20=');
    http://milena.polip.com/ - nie czekam na Ivo!


  • 18. Data: 2009-01-24 11:59:38
    Temat: Re: Sprawdzanie poprawności formularzy
    Od: "Radek N." <n...@g...pl>

    Gabriel pisze:
    > Witam serdecznie
    >
    > Do tej pory korzystalem z wlasnych skryptow weryfikujacych poprawnosc
    > wypelnianego formularza po stronie uzytkownika. Pozniej przepuszczalem
    > wyslana tresc przez swoje skrypty napisane w php po stronie serwera.
    >
    > Ale jako, ze na pewno nie sa to doskonale rozwiazania, a pisalem je kilka
    > lat temu, szukam jakiegos gotowca ktory przystawal by do dzisiejszych
    > wymogow.
    >
    > Formularz prosty - ot imie i nazwisko, email i tresc wiadomosci.
    >
    > Znacie cos co mozecie polecic do wykorzystania? Bo wywazac otwartych drzwi
    > nie zamierzam:)
    >
    > Chodzi mi przede wszystkim o rozwiazania.. takie najbardziej przyjazne
    > uzytkownikowi. I dbajace takze o osoby niepelnosprawne.

    A ja tak się zbieram od jakiegoś czasu (no tak z 4 lata się zbieram),
    żeby sobie zrobić jakiś taki wzorcowy proces walidacji.
    W głowie mam takie założenia:
    - walidacja po stronie serwera (PHP) i po stronie klienta (JS)
    - wspólny dla PHP i JS plik XML (może inny format) z definicją walidacji
    - wspólny dla PHP i JS plik z komunikatami o błędach

    Cel jest taki, żebym w jednym miejscu określał jak ma być walidowany
    formularz i w ogóle się nie zastanawiał nad różnicami client/server side.

    I jedyne, co chcę robić, to po stronie PHP wpisać (ala ZF):

    $form->addElement('text', 'username', array(
    'label' => $translate->_('Enter name'),
    'required' => true,
    'filters' => array('StringTrim'),
    'validators' => array(
    'Alpha',
    array('StringLength', array(3, 20)),
    )
    ));

    A w wyniku miałbym już formularz z pełną obsługą spójnej walidacji po
    stronie serwera i klienta.

    No to koniec koncertu życzeń... może kiedyś przysiądę i to zrobię :)

    ps. Nie nie myślałem jeszcze nad tym czy wszystkie założenia da się
    spełnić :) Ot tak sobie dumam.

    --
    Radek N.


  • 19. Data: 2009-01-24 12:18:14
    Temat: Re: Sprawdzanie poprawności formularzy
    Od: ethanak <s...@b...pl>

    Dnia Sat, 24 Jan 2009 12:59:38 +0100, Radek N. napisał(a):

    > [...]
    > Cel jest taki, żebym w jednym miejscu określał jak ma być walidowany
    > formularz i w ogóle się nie zastanawiał nad różnicami client/server
    > side.

    A wiesz że nad czymś podobnym siedzimy we firmie (oparcie o
    CodeIgnitera). Jak coś mądrego się wykluje co będę mógł udostępnić to się
    podzielę :)

    ethanak
    --
    mailto=window.atob('ZXRoYW5ha0Bwb2xpcC5jb20=');
    http://milena.polip.com/ - nie czekam na Ivo!


  • 20. Data: 2009-01-24 12:28:25
    Temat: Re: Sprawdzanie poprawności formularzy
    Od: "Radek N." <n...@g...pl>

    ethanak pisze:
    > Dnia Sat, 24 Jan 2009 12:59:38 +0100, Radek N. napisał(a):
    >
    >> [...]
    >> Cel jest taki, żebym w jednym miejscu określał jak ma być walidowany
    >> formularz i w ogóle się nie zastanawiał nad różnicami client/server
    >> side.
    >
    > A wiesz że nad czymś podobnym siedzimy we firmie (oparcie o
    > CodeIgnitera). Jak coś mądrego się wykluje co będę mógł udostępnić to się
    > podzielę :)

    Myślisz, że ja chcę, żeby to ktoś za mnie zrobił :P
    Jak tylko uda mi się sen ograniczyć do 3h na dobę, to znajdę czas.
    U mnie w firmie framework (server side) był budowany z tą myślą i jest
    gotowy właściwie na takie rozwiązanie. Brakuje JSa, ale jakoś ciągle się
    to odkłada.

    No ale ja chcę sobie do domku w oparciu o mój mini framework PHP zrobić
    i jeszcze dodatkowo do Zend Framework dopisać jakiegoś plugina walidacji.

    Pomysł właściwie narodził się dawno temu, gdy ludzie od QA ciągle
    zgłaszali bugi:
    - brak walidacji po stronie klienta
    - jak już ktoś podłączył walidację po stronie klienta, to pamiętał o
    updatowaniu komunikatów po stronie JS (bo łatwo je wychwycić), ale po
    stronie serwera już nie zmienił treści i były różne teksty w zależności
    od technologii
    - ciągłe problemy z komunikatami przy wersjach językowych
    - różnice w działaniu walidatora JS i server side
    - ...

    No ale chętnie się przyglądnę jakiejś podobnej realizacji :)

    --
    Radek N.

strony : 1 . [ 2 ] . 3


Szukaj w grupach

Szukaj w grupach

Eksperci egospodarka.pl

1 1 1

Wpisz nazwę miasta, dla którego chcesz znaleźć jednostkę ZUS.

Wzory dokumentów

Bezpłatne wzory dokumentów i formularzy.
Wyszukaj i pobierz za darmo: