Panelen



Forumnavigering
Senast inloggade
RSS
Sponsorer

Forum > Klientspråk > JavaScript

Form Validation

Saamir
Saamir

Gradering

#18007

Behöver lite hjälp på detta script nedan.

 

Vill alltså ha validation på email och password.

 

Såhär ser själva java ut.

<script type="text/javascript">
function checkWholeForm(theForm) {
    var why = "";
    why += checkEmail(theForm.email.value);
    why += checkPassword(theForm.password.value);
    why += isEmpty(theForm.notempty.value);
    for (i=0, n=theForm.radios.length; i<n; i++) {
        if (theForm.radios[i].checked) {
            var checkvalue = theForm.radios[i].value;
            break;
        }
    }
    why += checkRadio(checkvalue);
    why += checkDropdown(theForm.choose.selectedIndex);
    if (why != "") {
       alert(why);
       return false;
    }
return true;
}

function checkPassword (strng) {
 var error = "";
 if (strng == "") {
    error = "You didn't enter a password.
";
 }
    var illegalChars = /[\W_]/; // allow only letters and numbers
    if ((strng.length < 6) || (strng.length >
8)) {
       error = "The password is the wrong length.
";
    }
    else if (illegalChars.test(strng)) {
      error = "The password contains illegal characters.
";
    }
   
    else if (!((strng.search(/[a-z]+/) > -1)
  && (strng.search(/[A-Z]+/) > -1)
  && (strng.search(/[0-9]+/) > -1))) {
  error = "The password must contain at least one
    uppercase letter, one lowercase letter,
    and one numeral.
";
  }
 
  var emailFilter=/^.+@.+\..{2,3,4,6}$/;
if (!(emailFilter.test(strng))) {
       error = "Please enter a valid email address.
";
}
var illegalChars= /[\(\)\<\>\,\;\:\\\/\"\[\]]/
if (strng.match(illegalChars)) {
   error = "The email address contains illegal characters.
";

}
</script>

Och själva form i html.

<form name="myForm" onsubmit="return validate_form(theForm);" method="post" action="editup.php">
<p>Epostadress<br />
<input type="text" name="email" value="<?php echo $info['email']; ?>"/><br />
<p>Lösenord<br />
<input type="password" name="pass" value=""/><br />
<p>Upprepa lösenord<br />
<input type="password" name="pass2" value=""/><br />

<input type='submit' value='Uppdatera användare' /></div><br /></p>
</form>

 

Vad gör jag för fel?

ID: #18007 | Skapades: 2009-09-20 13:15:49 | Tråden har 6 svar och har lästs 464 gånger.

voigtan
voigtan

Gradering

#18008

1. Vad händer?

2. Vad händer inte?

Hur man ställer en fråga: http://support.microsoft.com/kb/q555375
ID: #18008 | Skapades: 2009-09-20 13:25:49

Saamir
Saamir

Gradering

#18009

Det som händer, händer inte så att säga.:P

 

ID: #18009 | Skapades: 2009-09-20 13:29:42

voigtan
voigtan

Gradering

#18010

Händer inget? Det är ju två saker som kan "Inte hända", vad är det som görs?

1. Postas innehållet?

2. Den postar inte men validera fel?

Hur man ställer en fråga: http://support.microsoft.com/kb/q555375
ID: #18010 | Skapades: 2009-09-20 13:33:41

voigtan
voigtan

Gradering

#18011

Ser ju ut att din funktion inte är färdig: checkPassword retunera inget och den avslutas inte heller.

Sen ser det ut som att du försöker lägga in all din "check" i en och samma metod (checkPassword) var är alla andra metoder:

checkEmail
isEmpty
checkRadio
checkDropdown

?

Hur man ställer en fråga: http://support.microsoft.com/kb/q555375
Redigerades av voigtan den 20 september 2009. Läs tidigare inlägg.
ID: #18011 | Skapades: 2009-09-20 13:52:31

Timmie
Timmie

Gradering

#18033

Kanske bara är jag som har missat något men jag ser heller ingen funktion som heter validate_form? Viktigt att komma ihåg är också att du måste validera datan med PHP även fast du validerar den med JavaScript.

ID: #18033 | Skapades: 2009-09-21 15:19:39

voigtan
voigtan

Gradering

#18034

Det är rätt Padchi ;) finns inte en metod som heter validate_form, så det är inte lätt att felsöka alls.

Hur man ställer en fråga: http://support.microsoft.com/kb/q555375
ID: #18034 | Skapades: 2009-09-21 15:20:43
© Copyright 2007-2009 Shadi Domat | Version 3.0 | Sidkarta | Policy