[JS] validacja danych


(Mathew) #1

Witam!

Mam problem ze skryptem do validacji danych.

Mam skrypt w js

testFormularza={

    rodzajePol:{

    niepuste:[/.+/,'Proszę wypełnić wszystkie pola!'],

    email:[/^[\w\.-]{2,}@[\w\.-]+\.[a-z]{2,5}$/,'Proszę podać prawidłowy adres e-mail'],

    liczbacalkowita:[/^\d+$/,'Prawidłowš warto?ciš tego pola jest liczba całkowita'],

    liczbarzeczywista:[/^(\d+|\d+,\d+)$/,'Proszę podać liczbę rzeczywistš (można użyć przecinka)'],

    kodpocztowy:[/^\d{2}\-\d{3}$/,'Proszę podać kod pocztowy np. 06-600'],

    m20m100:[/^.{20,100}$/,'Proszę wpisać nie więcej niż 100 znaków, ale też nie mniej niż 20.'] }


    testuj:function(f){

    var i,rodz;

    for(i=0;i
      E=f.elements[i];

      if(rodz=this.rodzajePol[E.getAttribute('rodzajpola')])

        if(!rodz[0].test(E.value)){

          E.focus();

          E.select();

          alert('Błšd.\n'

            +(E.getAttribute('komunikat')||rodz[1]));

          return false;

         }


    }


    return true;

  }

}

I odpowiednio inputy

| Imię: |

[/code] Zajączek pokazuje błąd w linijce 23, znak 5 (oczekiwanie na }) Linia 23:
[code] testuj:function(f){

Na moje, to tu chodzi o nie zamkniętą funkcję, tylko nie ma gdzie wstawić "}".

Potrafi ktoś pomóc?

Z góry dzięki!

HAHA doszedłem :slight_smile: Przepraszam za robotę dla moderatorów :slight_smile:


(mrbungle) #2

daj przecinaek za linią:

m20m100:[/^.{20,100}$/,'Proszę wpisać nie więcej niż 100 znaków, ale też nie mniej niż 20.'] }

żeby było tak:

m20m100:[/^.{20,100}$/,'Proszę wpisać nie więcej niż 100 znaków, ale też nie mniej niż 20.'] },

(Mathew) #3

Już to sam zrobiłem :slight_smile: Takie dodatkowe pytanie jeszcze.

Czy da się w value="" umieścić javascript?

Chodzi o to że ma się wczytywać losowe pytanie i to pytanie ma być wysyłane na maila.

Da się zrobić takie coś?


(Krzkaczor) #4

A nie możesz sam sprawdzić?


(Mathew) #5

Wiem, że się nie da :slight_smile: chodziło mi o to czy ktoś ma sposób na to.

Chodzi o wstawienie w pole text lub text area skryptu

Bo i jedno i drugie nie wykonuje skryptu tylko wczytuje tekst


(Krzkaczor) #6

-o

Zrób tak:

Wygeneruj sobie ten kod i przypisz wynik do zmiennej np.

var tajnyKod = randomCode();

I potem generujesz sobie ten formularz np. tak:

document.write('');

Oczywiscie wszystko dajesz w jednym


(Mathew) #7

SyntaxError , byś był tak dobry i pokazał to na w/w przykładzie?