Step 1: add the form ID to the submit button attribute
Step 2: Make sure each input field PARENT has a ID. That way the “error class will be added to the parent wrapper.
Step 3: Make sure each input field has a “data-error-message” attribute. This will be pasted in the error box. If you forget this you will get “undefined” pasted in the box. You can use HTML in these.
Step 4: Make sure your form has a div with a class of “form_status”. Otherwise the errors won’t get pasted anywhere.
Step 5: If you want the field to have a input status text or mark make sure you put a span tag with “input_status” class within the input wrap parent.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 | $( ".validate_form" ).click( function (event) { // 1017PM function IsEmail(email) { var regex = /^([a-zA-Z0-9_.+-])+\@(([a-zA-Z0-9-])+\.)+([a-zA-Z0-9]{2,4})+$/; return regex.test(email); } var this_forms_id = $( this ).attr( 'data-forms-id' ); var parent = "" ; var error_message = "" ; var error_messages = "" ; var field_value = "" ; var has_errors = false ; $(this_forms_id+ " .required" ).each( function (i, input) { parent = $(input).parent().attr( 'id' ); $( '#' +parent ).removeClass( 'error' ); $( '#' +parent+ ' .input_status' ).text( '' ); error_message = $(input).attr( 'data-error-message' ); field_value = $(input).val(); if (field_value == "" ) { //325PM has_errors = true ; $( '#' +parent).addClass( 'error' ); $( '#' +parent+ ' .input_status' ).text( 'Error' ); error_messages = error_messages + error_message; } //325PM if ($( this ).attr( 'type' ) == "radio" ) { var radio_name = $( this ).attr( "name" ); if (!$( '[name="' +radio_name+ '"]' ).is( ':checked' )) { $( '#' +parent).addClass( 'error' ); $( '#' +parent+ ' .input_status' ).text( 'Error' ); if (error_message != undefined) { error_messages = error_messages + error_message; } } } }); $(this_forms_id+ " .validate_email" ).each( function (i, email) { parent = $(email).parent().attr( 'id' ); error_message += $(email).attr( 'data-error-message' ); field_value = $(email).val(); if (!IsEmail(field_value)) { //617PM has_errors = true ; error_messages += "Email invalid" ; $( '#' +parent).addClass( 'error' ); $( '#' +parent+ ' .input_status' ).text( 'Error' ); } //617PM }); if (has_errors == true ) { //326PM $(this_forms_id+ ' .form_status' ).addClass( 'error' ); $(this_forms_id+ ' .form_status' ).removeClass( "hide" ).addClass( "show" ); $(this_forms_id+ ' .form_status' ).html(error_messages); } //326PM if (has_errors == false ) { //321PM $(this_forms_id).submit(); } //321PM }); // 1017PM |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 | < div class = "br_input_wrap" id = "name_input_wrap" > < label >Name< span >*</ span ></ label > < input type = "text" name = "bid_request_name" id = "name" value = "" placeholder = "First Name, Last Name" class = "required" data-error-message="<div>Forgot Name</ div >"/> < span class = "input_status" ></ span > </ div > < div class = "br_input_wrap" id = "bid_request_email_wrap" > < label >Email< span >*</ span ></ label > < input type = "text" name = "bid_request_email" id = "email" value = "" class = "validate_email" data-error-message="<div>Forgot Email</ div >" /> < span class = "input_status" ></ span > </ div > < div class = "br_input_wrap" id = "bid_request_phone_wrap" > < label >Phone< span >*</ span ></ label > < input type = "text" name = "bid_request_phone" id = "phone" value = "" class = "required" data-error-message="<div>Forgot Phone</ div >" /> < span class = "input_status" ></ span > </ div > < div class = "br_input_wrap" id = "bid_details_wrap" > < label >Bid Details< span >*</ span ></ label > < textarea name = "bid_details" id = "bid_details" class = "required" data-error-message="<div>Forgot Bid Details</ div >"></ textarea > < span class = "input_status" ></ span > </ div > < input type = "hidden" name = "queried_contractors" id = "queried_contractors" value = "" /> < button type = "button" class = "submit_button validate_form" data-forms-id = "#bid_request_form" >Submit</ button > < input type = "hidden" name = "bid_request_submitted" id = "bid_request_submitted" value = "true" /> < div class = "form_status" ></ div > </ form > |