如果有多个“if else”陈述,您如何提交表格才能够返回true? [英] With multiple 'if else' statements, how do you submit a form only if they all return true?

查看:111
本文介绍了如果有多个“if else”陈述,您如何提交表格才能够返回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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆