jQuery make sure all form fields are filled

前端 未结 4 1175
北恋
北恋 2020-12-05 15:41

I have a simple form I\'m making client side validation for. To validate, none of the fields should be left blank. This is how I go at it:

function validateF         


        
相关标签:
4条回答
  • 2020-12-05 16:06

    Here is a similar approach:

    function validateForm() {
      var valid = true;
      $('.form-field').each(function() {
        valid &= !!$(this).val();
      });
      return valid;
    }
    

    !! just converts input value to bool

    0 讨论(0)
  • 2020-12-05 16:07

    You were returning from the inner function not from the validate method

    Try

    function validateForm() {
        var valid = true;
        $('.form-field').each(function () {
            if ($(this).val() === '') {
                valid = false;
                return false;
            }
        });
        return valid
    }
    
    0 讨论(0)
  • 2020-12-05 16:13
    function validateForm() {
        var invalid= 0;
        $('.form-field').each(function () {
            if ($(this).val() == '') {
                invalid++;
            }
        });
    
       if(invalid>0)
           return false;
       else
           return true;
    }
    
    0 讨论(0)
  • 2020-12-05 16:33

    You cannot return false from within the anonymous function. In addition, if it did work, you would return false if your first field was empty, true if not, and completely ignore the rest of your fields. There may be a more elegant solution but you can do something like this:

    function validateForm() {
      var isValid = true;
      $('.form-field').each(function() {
        if ( $(this).val() === '' )
            isValid = false;
      });
      return isValid;
    }
    

    Another recommendation: this requires you to decorate all of your form fields with that formfield class. You may be interested in filtering using a different selector, e.g. $('form.validated-form input[type="text"]')

    EDIT Ah, I got beat to the punch, but my explanation is still valid and hopefully helpful.

    0 讨论(0)
提交回复
热议问题