Skip to content

Instantly share code, notes, and snippets.

@musoftware
Created February 3, 2017 20:45
Show Gist options
  • Save musoftware/7f2dbb20adfc6c5e1e6730c5c7e5331c to your computer and use it in GitHub Desktop.
Save musoftware/7f2dbb20adfc6c5e1e6730c5c7e5331c to your computer and use it in GitHub Desktop.
cakephp validate Link
$validator
->requirePresence('link', 'create')
->notEmpty('link')->add('link', 'validFormat', [
'rule' => array('custom', '_^(?:(?:https?|ftp)://)(?:\S+(?::\S*)?@)?(?:(?!10(?:\.\d{1,3}){3})(?!127(?:\.\d{1,3}){3})(?!169\.254(?:\.\d{1,3}){2})(?!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\x{00a1}-\x{ffff}0-9]+-?)*[a-z\x{00a1}-\x{ffff}0-9]+)(?:\.(?:[a-z\x{00a1}-\x{ffff}0-9]+-?)*[a-z\x{00a1}-\x{ffff}0-9]+)*(?:\.(?:[a-z\x{00a1}-\x{ffff}]{2,})))(?::\d{2,5})?(?:/[^\s]*)?$_iuS'),
'message' => 'Please enter a valid link.'
]);
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment