El siguiente código jQuery alerta al usuario en caso de que se ingrese un código postal incorrecto al adjuntarle el evento de cambio. Me gustaría validar el código postal ingresado en el campo de texto del formulario en una página de destino y agregar un poco de HTML en caso de error al enviar el formulario. Por favor me podrían orientar en como hacerlo.
HTML para la entrada:
<div class="ff-el-input--content"><input type="text" name="address_1[zip]" id="ff_241_address_1_zip_" class="ff-el-form-control" placeholder="Zip"></div>jQuery para validar:
jQuery("input:text[name='address_1[zip]']").change(function(e) { if (!jQuery(this).val().match(/^\d{5}(?:[-\s]\d{4})?$/)) { alert("Please enter a valid zip code"); jQuery("input[name='address_1[zip]']").val(""); return false; } }); Cuando falla la validación, necesito agregar el div a continuación justo después del campo input text . <div class="error text-danger">This field is required</div>
Enviar elemento:
<button type="submit" class="ff-btn ff-btn-submit ff-btn-lg">Submit</button>Lo que necesita son las funciones after() y remove() .
jQuery("input:text[name='address_1[zip]']").change(function(e) { if (!jQuery(this).val().match(/^\d{5}(?:[-\s]\d{4})?$/)) { alert("Please enter a valid zip code"); jQuery("input[name='address_1[zip]']").val(""); if ($('.error').length == 0) { $(this).after('<div class="error text-danger">This field is required</div>'); } } else { $('.error').remove(); } });