简体   繁体   中英

Form doesn`t check the validation

I want to check if there is an error but now it doensn't check anaything. the form submits even when the fields are empty. Dont know where the fault is. Can somebody help all the fields in the form are correct I think something goes wrong in the if(error == 0) :

  <script>
$(document).ready(function(){

    var errormsg = ['Please enter name.', 'Please enter minimum 3 character.', 'Value not more than 100 characters.', 'Please enter email.', 'Please enter valid email.', 'Email and confirm email does not match.', 'Please enter password', 'Please enter role.', 'Email already exists'];

    $("input[type='submit']").on('click', function(e){

        e.preventDefault();
        $(".validationError").remove();


        var span_error_start = '<span class="form_error">';
        var span_error_end = "</span>";

        var name           = $.trim($("input[name='name']").val());
        var problem        = $.trim($("input[name='problem']").val());
        var description    = $.trim($("input[name='description']").val());

        var error = 0;



        if(name == ""){
            $("input[name='name']").after("<div class='nameInput validationError'>"+span_error_start+errormsg[0]+span_error_end+"</div>").addClass("input_error");
            error = 1;

        }
        else if(name.length < 3){
            $("input[name='name']").after("<div class='nameInput validationError'>"+span_error_start+errormsg[1]+span_error_end+"</div>").addClass("input_error");
            error = 1;
        }
        else if(name.length > 100){
            $("input[name='name']").after("<div class='nameInput validationError'>"+span_error_start+errormsg[2]+span_error_end+"</div>").addClass("input_error");
            error = 1;
        }




        if(problem == ""){
            $("input[name='problem']").after("<div class='problemInput validationError'>"+span_error_start+errormsg[3]+span_error_end+"</div>").addClass("input_error");
            error = 1;
        }
        else if(problem.length < 3){
            $("input[name='problem']").after("<div class='problemInput validationError'>"+span_error_start+errormsg[1]+span_error_end+"</div>").addClass("input_error");
            error = 1;
        }
        else if(problem.length > 100){
            $("input[name='problem']").after("<div class='problemInput validationError'>"+span_error_start+errormsg[2]+span_error_end+"</div>").addClass("input_error");
            error = 1;
        }



        if(description == ""){
            $("input[name='description']").after("<div class='descriptionInput validationError'>"+span_error_start+errormsg[6]+span_error_end+"</div>").addClass("input_error");
            error = 1;
        }
        else if(description.length < 3){
            $("input[name='description']").after("<div class='descriptionInput validationError'>"+span_error_start+errormsg[1]+span_error_end+"</div>").addClass("input_error");
            error = 1;
        }
        else if(description.length > 100){
            $("input[name='description']").after("<div class='descriptionInput validationError'>"+span_error_start+errormsg[2]+span_error_end+"</div>").addClass("input_error");
            error = 1;
        }




        if(error == 0){

            $(".myForm").submit();

        }
}

        else{
            return false;
        }

    });




</script>

Error in your code. Extra braces, so else doesn't work. Syntax error:

  if(error == 0){
    $(".myForm").submit();
  }
} // Extra braces, so else doesn't work. Syntax error. So remove it.

  else {
    return false;
  }

Updated Correct Code:

if(error == 0){
  $(".myForm").submit();
}

else {
  return false;
}

Fixed the problem :

    if(error == 0){

        $(".myForm").submit();

    }
    else{
        return false;
    }

    });

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

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