自动排除了 lib,导致js 不全
This commit is contained in:
92
static/src/js/lib/formValidation/validator/ip.js
Executable file
92
static/src/js/lib/formValidation/validator/ip.js
Executable file
@@ -0,0 +1,92 @@
|
||||
/**
|
||||
* ip validator
|
||||
*
|
||||
* @link http://formvalidation.io/validators/ip/
|
||||
* @author https://twitter.com/nghuuphuoc
|
||||
* @copyright (c) 2013 - 2015 Nguyen Huu Phuoc
|
||||
* @license http://formvalidation.io/license/
|
||||
*/
|
||||
|
||||
(function(root, factory) {
|
||||
|
||||
"use strict";
|
||||
|
||||
// AMD module is defined
|
||||
if (typeof define === "function" && define.amd) {
|
||||
define("validator/ip", ["jquery", "base"], factory);
|
||||
} else {
|
||||
// planted over the root!
|
||||
factory(root.jQuery, root.FormValidation);
|
||||
}
|
||||
|
||||
}(this, function ($, FormValidation) {
|
||||
FormValidation.I18n = $.extend(true, FormValidation.I18n || {}, {
|
||||
'en_US': {
|
||||
ip: {
|
||||
'default': 'Please enter a valid IP address',
|
||||
ipv4: 'Please enter a valid IPv4 address',
|
||||
ipv6: 'Please enter a valid IPv6 address'
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
FormValidation.Validator.ip = {
|
||||
html5Attributes: {
|
||||
message: 'message',
|
||||
ipv4: 'ipv4',
|
||||
ipv6: 'ipv6'
|
||||
},
|
||||
|
||||
/**
|
||||
* Return true if the input value is a IP address.
|
||||
*
|
||||
* @param {FormValidation.Base} validator The validator plugin instance
|
||||
* @param {jQuery} $field Field element
|
||||
* @param {Object} options Can consist of the following keys:
|
||||
* - ipv4: Enable IPv4 validator, default to true
|
||||
* - ipv6: Enable IPv6 validator, default to true
|
||||
* - message: The invalid message
|
||||
* @returns {Boolean|Object}
|
||||
*/
|
||||
validate: function(validator, $field, options) {
|
||||
var value = validator.getFieldValue($field, 'ip');
|
||||
if (value === '') {
|
||||
return true;
|
||||
}
|
||||
options = $.extend({}, { ipv4: true, ipv6: true }, options);
|
||||
|
||||
var locale = validator.getLocale(),
|
||||
ipv4Regex = /^(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$/,
|
||||
ipv6Regex = /^\s*((([0-9A-Fa-f]{1,4}:){7}([0-9A-Fa-f]{1,4}|:))|(([0-9A-Fa-f]{1,4}:){6}(:[0-9A-Fa-f]{1,4}|((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9A-Fa-f]{1,4}:){5}(((:[0-9A-Fa-f]{1,4}){1,2})|:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9A-Fa-f]{1,4}:){4}(((:[0-9A-Fa-f]{1,4}){1,3})|((:[0-9A-Fa-f]{1,4})?:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){3}(((:[0-9A-Fa-f]{1,4}){1,4})|((:[0-9A-Fa-f]{1,4}){0,2}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){2}(((:[0-9A-Fa-f]{1,4}){1,5})|((:[0-9A-Fa-f]{1,4}){0,3}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){1}(((:[0-9A-Fa-f]{1,4}){1,6})|((:[0-9A-Fa-f]{1,4}){0,4}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(:(((:[0-9A-Fa-f]{1,4}){1,7})|((:[0-9A-Fa-f]{1,4}){0,5}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:)))(%.+)?\s*$/,
|
||||
valid = false,
|
||||
message;
|
||||
|
||||
switch (true) {
|
||||
case (options.ipv4 && !options.ipv6):
|
||||
valid = ipv4Regex.test(value);
|
||||
message = options.message || FormValidation.I18n[locale].ip.ipv4;
|
||||
break;
|
||||
|
||||
case (!options.ipv4 && options.ipv6):
|
||||
valid = ipv6Regex.test(value);
|
||||
message = options.message || FormValidation.I18n[locale].ip.ipv6;
|
||||
break;
|
||||
|
||||
case (options.ipv4 && options.ipv6):
|
||||
/* falls through */
|
||||
default:
|
||||
valid = ipv4Regex.test(value) || ipv6Regex.test(value);
|
||||
message = options.message || FormValidation.I18n[locale].ip['default'];
|
||||
break;
|
||||
}
|
||||
|
||||
return {
|
||||
valid: valid,
|
||||
message: message
|
||||
};
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
return FormValidation.Validator.ip;
|
||||
}));
|
||||
Reference in New Issue
Block a user