Click to See Complete Forum and Search --> : form validation troubles
westford
01-08-2004, 11:22 AM
I've got some functions written that will check for a name and an email address entered in a form, but I can't work out how to put these all into a single validation function. Can anyone help?
function alertNotEnteredName(yourname)
{ if (yourname.value == "")window.alert("Please enter your name" );
}
function alertNotEnteredEmail(youremail)
{ if (youremail.value == "")window.alert("Please enter your email address" );
}
function alertNotEmail(youremail)
{ if (youremail.value !=""){
tryString = "\\w+@\\w";
tryFlag ="i";
re.compile(tryString,tryFlag);
return ( !re.test(youremail.value));
}
window.alert("Please enter a valid email address");
return false;
}
Pittimann
01-08-2004, 12:03 PM
Hi!
You could use something like this:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>Untitled</title>
<script language="JavaScript" type="text/javascript">
<!--
function validate(yourname,youremail) {
if (eval(yourname+'.value') == ""){
alert("Please enter your name" );
eval(yourname+'.focus()');
return false;
}
else if (eval(youremail+'.value') == ""){
alert("Please enter your email address" );
eval(youremail+'.focus()');
return false;
}
else if (eval(youremail+'.value').value !=""){
var re = /[a-zA-Z0-9\.\-\_]+\@[a-zA-Z0-9\.\-\_]+\.[a-zA-Z]/;
if(re.test(eval(youremail+'.value')) == false){
alert("Please enter a valid email address");
eval(youremail+'.focus()');
eval(youremail+'.select()');
return false;
}
}
else return true
}
//-->
</script>
</head>
<body>
<form name="myForm" onSubmit="return validate('document.myForm.username','document.myForm.email')">
<input name="username">
<br>
<input name="email">
<br>
<input type="submit" value="Submit">
</form>
</body>
</html>
Cheers - Pit
westford
01-08-2004, 12:49 PM
Thanks a lot! I had to change it slightly, but I've got it working now.
In the head:
function validate(yourname,youremail)
{
if (yourname.value == "")
{ alert("Please enter your name" );
(yourname.focus());
return false;
}
else if (youremail.value == "")
{ alert("Please enter your email address" );
(youremail.focus());
return false;
}
else if (youremail.value !="")
{ var re = /[a-zA-Z0-9.-_]+@[a-zA-Z0-9.-_]+.[a-zA-Z]/;
if(re.test(youremail.value) == false)
{ alert("Please enter a valid email address");
(youremailfocus());
(youremail.select());
return false;
}
}
else return true
}
And in the body:
<input type="submit" value="submit" id="formsubmit" onClick="validate(yourname,youremail)">