繁体   English   中英

jQuery表单验证,如果语句不起作用

[英]JQuery form validation if statements don't work

我在JQuery中构建了一个小型表单验证器。 现在我的输出有问题。

 $(function () {
     $('.register').submit(function (event) {
         $('.form-group').removeClass('has-error'); // remove the error class
         $('.help-form').remove();
         var lengthp = $('input[name=password]').val().length;
         //alert(length);
         var error = new String();
         if ($('input[name=password2]').val() != $('input[name=password]').val()) {
             error['pwd'] = "Die Passwörter stimmen nicht überein!";
         }
         if (lengthp < 7) {
             error['length'] = "Das Passwort muss mindestens 8 Zeichen lang sein.";
         }
         if (error) {
             // add the error class to show red input
             if (error['pwd']) {
                 $('#passgroup2').addClass('has-error');
                 $("#passgroup2 > div").append('<span class="help-block help-form">' + error['pwd'] + '</span>');
             }
             if (error['length']) {
                 $('#passgroup').addClass('has-error');
                 $("#passgroup > div").append('<span class="help-block help-form">' + error['length'] + '</span>');
             }
         }
         //alert($('input[name=password]').val()));
         event.preventDefault();
     });

 });

if语句if (error['pwd']) {可以正常工作,但是if (error['length']) {

有谁知道如何解决它? 谢谢!!!

尝试对代码进行以下修改,如果错误是一个对象,那么事情将变得更容易工作,并且代码也将变得更容易理解,我不确定为什么将错误变成字符串。 希望能帮助到你。

  //Error object
  var error = {};

 if ($('input[name=password2]').val() != $('input[name=password]').val()) {    
    //setting pwd error property 
    error.pwd = "Die Passwörter stimmen nicht überein!";
 }

 if (lengthp < 7) {
    //setting length error property  
    error.length = "Das Passwort muss mindestens 8 Zeichen lang sein.";
 }

 //Getting rid of this if because as it is defined, it will be always truthy 
 //if (error) {
    // add the error class to show red input
    if (typeof error.pwd !== "undefined") {
       $('#passgroup2').addClass('has-error');
       $("#passgroup2 > div").append('<span class="help-block help-form">' + error['pwd'] + '</span>');
    }

    if (typeof error.length !== "undefined") {
       $('#passgroup').addClass('has-error');
       $("#passgroup > div").append('<span class="help-block help-form">' + error['length'] + '</span>');
    }
 //}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM