diff --git a/clientside_validation.module b/clientside_validation.module
index 99fefce..24d45fe 100644
--- a/clientside_validation.module
+++ b/clientside_validation.module
@@ -172,6 +172,14 @@ function clientside_validation_menu() {
     'access arguments' => array('access content'),
     'type' => MENU_CALLBACK,
   );
+
+  $items['clientside_validation/url'] = array(
+    'title' => 'Clientside validation validate url callback',
+    'page callback' => '_clientside_validation_url_validation_callback',
+    'access arguments' => array('access content'),
+    'type' => MENU_CALLBACK,
+  );
+
   return $items;
 }
 
@@ -1569,3 +1577,23 @@ function clientside_validation_library_alter(&$libraries, $module) {
     $libraries['jquery.form']['version'] = '3.09';
   }
 }
+
+/**
+ * Check that a path is valid and accessible.
+ *
+ * @param $path
+ *   The path to check is valid.
+ */
+function _clientside_validation_url_validation_callback($path) {
+  if (drupal_valid_path($path)) {
+    return TRUE;
+  }
+  else {
+    $lookup_path = drupal_lookup_path('source', $path);
+    if (drupal_valid_path($lookup_path)) {
+      return TRUE;
+    }
+  }
+
+  return FALSE;
+}
