如何解决表单验证停留在错误 Statement
所以我用简单的 JS 验证了一些密码。如果 pw 不匹配,我有一个 if 语句添加一些 css。但是当我返回表单并更改密码以匹配错误时,无论如何都会保留。我添加了控制台日志,看起来它只是停留在第一个 if 并且永远不会移动到 else 。我厌倦了它,没有任何运气的回报。
Javascript
var passwordField = document.getElementById("password");
var passwordConfirmField = document.getElementById("passwordConfirm");
var form = document.getElementById("register");
function validateForm(){
if(passwordField.value != passwordConfirmField){
console.log("error")
document.getElementById("password").style.borderColor = "red";
document.getElementById("passwordConfirm").style.borderColor = "red";
$('#error').show();
console.log("Show")
}
else {
console.log("Pressing")
form.submit();
console.log("Submit")
}
}
PUG
block content
.loginContainer
h1 Register
form#register(method="post",onsubmit="event.preventDefault(); validateForm();")
input(type="text",name="firstName",placeholder="First Name",required="")
input(type="text",name="lastName",placeholder="Last Name",name="username",placeholder="Username",name="email",placeholder="Email",required="")
input#password(type="password",name="password",placeholder="Password",required="")
input#passwordConfirm(type="password",name="passwordConfirm",placeholder="Confirm Password",required="")
.alert.alert-danger#error(role='alert')
| Passwords Do Not Match
input(type="submit",value="Register")
a(href="/login") Already have an account? Login Here
解决方法
因为 if
语句中的条件是错误的。应该是:
passwordField.value !== passwordConfirmField.value
注意:在 ===
上使用严格相等 ==
是一个好习惯,!==
和 !=
也是如此
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。