Autor Zpráva
Networker
Profil
Ahoj, mám menší problém s formulářem, poradí prosím někdo?
Potřeboval bych udělat, aby při psaní hesla byla kontrola na zadání minimálně 10 znaků.
Dále ověření, aby byla kontrola na zadání 5 čísel.
A jako poslední ověření, aby byla kontrola na zadání čísel od 1 do 5.
Mockrát děkuji za dodělání :-)


HTML:
 <form action="" method="post" name="Registrace" onsubmit="return Spravne()">
 Zadejte jméno: <input type="text" name="Jmeno">
  <br>
  Zadej heslo - minimálně 10 znaků: <input type="password" name="Heslo">
  <br>
  Zadej 5 čísel: <input type="text" name="Cisla">    
  <br>
  Zadej číslo od 1 do 5: <input type="text" name="Cislo">
  <br>
  <input type="submit" value="Poslat">
  </form>

JavaScript:

<script>
  function Spravne() { 
    if( document.Registrace.Jmeno.value == "" || isNaN( document.Registrace.Jmeno.value ) )
    {
     alert( "Musíš zadat jméno!" );
     document.Registrace.Jmeno.focus() ;     
     return false;
    } 
    if( document.Registrace.Heslo.value == "" || isNaN( document.Registrace.Heslo.value ) )
    {
     alert( "Heslo musí být minimálně 10 znaků!" );
     document.Registrace.Heslo.focus() ;     
     return false;
    }
    if( document.Registrace.Cisla.value == "" || isNaN( document.Registrace.Cisla.value ) )
    {                                                                                       
     alert( "Zadej 5 čísel!" );
     document.Registrace.Cisla.focus() ;      
     return false;
    }    
    if( document.Registrace.Cislo.value == "" || isNaN( document.Registrace.Cislo.value ) )
    {
     alert( "Napiš číslo od 1 do 5!" );
     document.Registrace.Cislo.focus() ;     
     return false;
    }                       
  } 
  </script>


Moderátor Joker: Vkládej prosím kódy mezi značky [pre] a [/pre] (stačí kliknout na ).
Joker
Profil
Networker:
Délka řetězce je v atributu length, takže stačí porovnat políčko.value.length proti očekávané délce.

Jinak by mě zajímala motivace pro použití té funkce isNaN. U políček pojmenovaných Jmeno a Heslo bych nečekal, že hodnota má být číslo, takže podle mě tou podmínkou neprojde prakticky nic z toho, co bych si představoval jako platnou hodnotu.

A ještě bych se pozastavil nad tou podmínkou minimálně 10-znakového hesla, doporučuji zvážit míru zabezpečení vs. otravování uživatelů.

Vaše odpověď


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: