Skip to content

Commit d2ef6b4

Browse files
committed
Updates url validation regex. Adds title attribute in URL field.
1 parent ebda3f8 commit d2ef6b4

File tree

2 files changed

+10
-6
lines changed

2 files changed

+10
-6
lines changed

assets/wpuf/js/frontend-form.js

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -463,12 +463,10 @@
463463
WP_User_Frontend.removeErrorNotice(self);
464464

465465
// Validate: Required Fields
466-
var validate = self.find('[data-type]');
466+
var required = self.find('[data-required="yes"]:visible');
467467

468-
validate.each(function(i, item) {
469-
// temp_val = $.trim($(item).val());
468+
required.each(function(i, item) {
470469

471-
// console.log( $(item).data('type') );
472470
var data_type = $(item).data('type')
473471
val = '';
474472

@@ -715,7 +713,13 @@
715713
var pattern = new RegExp(/^((([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+(\.([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+)*)|((\x22)((((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(([\x01-\x08\x0b\x0c\x0e-\x1f\x7f]|\x21|[\x23-\x5b]|[\x5d-\x7e]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(\\([\x01-\x09\x0b\x0c\x0d-\x7f]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]))))*(((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(\x22)))@((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.?$/i);
716714
return pattern.test(email);
717715
},
718-
716+
/**
717+
* Validate a url.
718+
*
719+
* While we could use the standard HTML5 form validator for urls, this regex does a more thorough job.
720+
*
721+
* @link https://gist.github.com/dperini/729294
722+
*/
719723
isValidURL: function(url) {
720724
var urlregex = new RegExp(/^(?:(?:https?|ftp):\/\/)?(?:(?!(?:10|127)(?:\.\d{1,3}){3})(?!(?:169\.254|192\.168)(?:\.\d{1,3}){2})(?!172\.(?:1[6-9]|2\d|3[0-1])(?:\.\d{1,3}){2})(?:[1-9]\d?|1\d\d|2[01]\d|22[0-3])(?:\.(?:1?\d{1,2}|2[0-4]\d|25[0-5])){2}(?:\.(?:[1-9]\d?|1\d\d|2[0-4]\d|25[0-4]))|(?:(?:[a-z\u00a1-\uffff0-9]-*)*[a-z\u00a1-\uffff0-9]+)(?:\.(?:[a-z\u00a1-\uffff0-9]-*)*[a-z\u00a1-\uffff0-9]+)*(?:\.(?:[a-z\u00a1-\uffff]{2,})))(?::\d{2,5})?(?:\/\S*)?$/);
721725
return urlregex.test(url);

includes/fields/class-field-url.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ public function render( $field_settings, $form_id ) {
2626

2727
<div class="wpuf-fields">
2828
<input
29-
title = "<?php echo esc_attr__( 'The URL must contain a protocol i.e. http://example.com' ) ?>"
29+
title = "<?php echo esc_attr__( 'The URL must contain a protocol i.e. http://example.com', 'weforms' ); ?>"
3030
id = "<?php echo esc_attr( $field_settings['name'] ) . '_' . esc_attr( $form_id ); ?>"
3131
type = "url" class="url <?php echo ' wpuf_'. esc_attr( $field_settings['name'] ).'_'. esc_attr( $form_id ); ?>"
3232
data-duplicate = "<?php echo esc_attr( $field_settings['duplicate'] ) ? esc_attr( $field_settings['duplicate'] ) : 'no'; ?>"

0 commit comments

Comments
 (0)