I add this script in jsp file.
This function always returns true even for failed scenarios like without matching the expression and everything.
Why it happens like that? How to solve this?
<script type="text/javascript">
function validate()
{
document.getElementById("user").innerHTML="";
document.getElementById("pass").innerHTML="";
document.getElementById("mail").innerHTML="";
document.getElementById("number").innerHTML="";
var expression = /^[a-zA-Z_.0-9]+$/;
var mailExp = /^[\w\-\.\+]+\@[a-zA-Z0-9\.\-]+\.[a-zA-z0-9]{2,4}+$/;
var numberExp = /^[0-9]+$/;
if(!document.getElementById('username').value.match(expression))
{
document.getElementById('username').focus();
document.getElementById("user").innerHTML=" Enter valid user name";
return false;
}
if(document.getElementById('password').value.length == 0)
{
document.getElementById('password').focus();
document.getElementById("pass").innerHTML = "Fill Password field";
document.getElementById("pass").style.visibility = "visible";
return false;
}
if(document.getElementById('cnfpassword').value.length == 0)
{
document.getElementById('cnfpassword').focus();
document.getElementById("pass").innerHTML = "Fill confirm Password field";
document.getElementById("pass").style.visibility = "visible";
return false;
}
if(document.getElementById('password').value != document.getElementById('cnfpassword').value)
{
document.getElementById('password').focus();
document.getElementById("pass").innerHTML = "Password and confirm password Not match";
document.getElementById("pass").style.visibility = "visible";
return false;
}
if(!document.getElementById('emailid').value.match(expression))
{
document.getElementById('emailid').focus();
document.getElementById("mail").innerHTML=" Enter valid E-mailID";
document.getElementById("mail").style.visibility = "visible";
return false;
}
if(!document.getElementById('number').value.match(numberExp))
{
document.getElementById('number').focus();
document.getElementById("number").innerHTML=" Enter only numbers";
document.getElementById("number").style.visibility = "visible";
return false;
}
else
{
return true;
}
}
Besides the refactoring advices, the easiest thing would be to use Firebug and debug what is doing wrong. It will save you a lot of headaches