我正在为我的注册表格执行javascript表格验证。但是,即使我不符合js的条件,验证数据也会存储在数据库中。
我在堆栈溢出中查看了该问题的先前答案,但未获得预期的输出。
JavaScript代码:
function validateform() {
var uname = document.myform.uname.value;
var password = document.myform.password.value;
var repassword = document.myform.repassword.value;
var email = document.myform.email.value;
var atposition = email.indexOf("@");
var dotposition = email.lastIndexOf(".");
if (atposition < 1 || dotposition < atposition + 2 || dotposition + 2 >= x.length) {
alert("Please enter a valid e-mail address \n atpostion:" + atposition + "\n dotposition:" + dotposition);
email.focus();
return false;
}
if (uname == null || uname == "") {
alert("Name can't be blank");
uname.focus();
return false;
}
if (password.length < 6) {
alert("Password must be at least 6 characters long.");
password.focus();
return false;
}
if (password != repassword) {
alert("password must be same!");
repassword.focus();
return false;
}
return true;
}
HTML表单:
<form action="" method="post" name="myform" onSubmit="return
validateform()">
<input type="text" placeholder="Username" name="uname" required>
<br>
<input type="email" placeholder="EmailID" name="email" required>
<br>
<input type="password" placeholder="Password" name="password" required>
<br>
<input type="password" placeholder="Re-Type Password" name="repassword" required>
<br>
<input type="date" name="date">
<p>Gender:</p>
<p><input type="radio" name="gender" value="male" checked>Male</p>
<p><input type="radio" name="gender" value="female">Female</p>
<input type="submit" name="submit" value="Sign up">
</form>
请帮助我纠正问题。