如果有多个“if else”陈述,您如何提交表格才能够返回true? [英] With multiple 'if else' statements, how do you submit a form only if they all return true?
问题描述
我有一个验证密码强度的要求列表来帮助用户设置他们的密码,并且它被分成几部分,这样,一旦用户在密码输入框中输入了有效值,我就可以将每个要求标记为有效。 (因此,如果他们输入的密码长度超过7个字符,密码长度要求通知将变为绿色等)。这很好。
现在,我想说,如果所有'if'语句都有效,则允许提交表单,否则不要。在阅读后,我通过设置一个可变的retVal = true来尝试实现这一点,但我不太清楚如何使用它,所以在我的尝试中失败了。我也考虑过这样做,如果所有的要求都有效,那么允许表单提交,但这看起来不是正确的方式?
< code $('#form-password-change#input-password')。keyup(function(){
//设置密码变量
var pwd = $(this).val();
//验证长度
if(pwd.length> 7){
$('#length ').removeClass('invalid')。addClass('valid');
} else {
$('#length')。removeClass('valid')。addClass('invalid');
}
// RegExp
//验证字母
if(/([^ az] * [az]){3,} / ('#')。removeClass('invalid')。addClass('valid');
} else {
$('#letter ').removeClass('valid')。addClass('invalid');
}
});
试试这个:
$('#form-password-change#input-password')。keyup(function(){
//设置密码变量
var pwd = $(this).val();
var truetest = 1;
//验证长度
$ b $如果(pwd.length> 7){
$('#length')。removeClass('invalid').addClass('valid');
} else {
$( '#length')。removeClass('valid')。addClass('invalid');
truetest = 0;
}
// RegExp
//验证字母
if(/([^az]*[az]){3,}/i.test(pwd)){
$('#letter')。removeClass( 'invalid')。addClass('valid');
} else {
$('#letter')。removeClass('valid')。addClass('invalid');
truetest = 0;
}
if(truetest)
{
//在这里做你的东西
}
});
I have a list of validation requirements for password strength to help users set their passwords, and it's broken into parts so that I can mark each requirement as 'valid' once the user has inputted a valid value in the password input box. (So if they put in a password longer than 7 characters, the password length requirement notice turns green etc). This is working great.
Now, I want to say, if all of the 'if' statements are valid, allow the form to be submitted, otherwise, don't. After reading around, I've made a few attempts at achieving this by setting a variable retVal = true but I'm not quite sure how to use that so have failed in my attempts so far. I also considered doing something like, if all the requirements have the class valid, then allow form submit but that didn't seem like the correct way?
$('#form-password-change #input-password').keyup(function() {
// set password variable
var pwd = $(this).val();
// validate the length
if (pwd.length > 7) {
$('#length').removeClass('invalid').addClass('valid');
} else {
$('#length').removeClass('valid').addClass('invalid');
}
// RegExp
// validate letter
if ( /([^a-z]*[a-z]){3,}/i.test(pwd) ) {
$('#letter').removeClass('invalid').addClass('valid');
} else {
$('#letter').removeClass('valid').addClass('invalid');
}
});
Try this:
$('#form-password-change #input-password').keyup(function() {
// set password variable
var pwd = $(this).val();
var truetest = 1;
// validate the length
if (pwd.length > 7) {
$('#length').removeClass('invalid').addClass('valid');
} else {
$('#length').removeClass('valid').addClass('invalid');
truetest = 0;
}
// RegExp
// validate letter
if ( /([^a-z]*[a-z]){3,}/i.test(pwd) ) {
$('#letter').removeClass('invalid').addClass('valid');
} else {
$('#letter').removeClass('valid').addClass('invalid');
truetest = 0;
}
if(truetest)
{
//Do your stuff here
}
});
这篇关于如果有多个“if else”陈述,您如何提交表格才能够返回true?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!