mirror of
https://gitee.com/coder-xiaomo/flashsale
synced 2025-09-12 15:01:39 +08:00
添加Metronic(作为LFS)
This commit is contained in:
214
frontend/static/js/plugins/ajaxFileUpload/ajaxfileupload.js
Normal file
214
frontend/static/js/plugins/ajaxFileUpload/ajaxfileupload.js
Normal file
@@ -0,0 +1,214 @@
|
||||
|
||||
jQuery.extend({
|
||||
|
||||
|
||||
createUploadIframe: function(id, uri)
|
||||
{
|
||||
//create frame
|
||||
var frameId = 'jUploadFrame' + id;
|
||||
var iframeHtml = '<iframe id="' + frameId + '" name="' + frameId + '" style="position:absolute; top:-9999px; left:-9999px"';
|
||||
if(window.ActiveXObject)
|
||||
{
|
||||
if(typeof uri== 'boolean'){
|
||||
iframeHtml += ' src="' + 'javascript:false' + '"';
|
||||
|
||||
}
|
||||
else if(typeof uri== 'string'){
|
||||
iframeHtml += ' src="' + uri + '"';
|
||||
|
||||
}
|
||||
}
|
||||
iframeHtml += ' />';
|
||||
jQuery(iframeHtml).appendTo(document.body);
|
||||
|
||||
return jQuery('#' + frameId).get(0);
|
||||
},
|
||||
createUploadForm: function(id, fileElementId, data)
|
||||
{
|
||||
//create form
|
||||
var formId = 'jUploadForm' + id;
|
||||
var fileId = 'jUploadFile' + id;
|
||||
var form = jQuery('<form action="" method="POST" name="' + formId + '" id="' + formId + '" enctype="multipart/form-data"></form>');
|
||||
if(data)
|
||||
{
|
||||
for(var i in data)
|
||||
{
|
||||
jQuery('<input type="hidden" name="' + i + '" value="' + data[i] + '" />').appendTo(form);
|
||||
}
|
||||
}
|
||||
var oldElement = jQuery('#' + fileElementId);
|
||||
var newElement = jQuery(oldElement).clone();
|
||||
jQuery(oldElement).attr('id', fileId);
|
||||
jQuery(oldElement).before(newElement);
|
||||
jQuery(oldElement).appendTo(form);
|
||||
|
||||
|
||||
|
||||
//set attributes
|
||||
jQuery(form).css('position', 'absolute');
|
||||
jQuery(form).css('top', '-1200px');
|
||||
jQuery(form).css('left', '-1200px');
|
||||
jQuery(form).appendTo('body');
|
||||
return form;
|
||||
},
|
||||
|
||||
ajaxFileUpload: function(s) {
|
||||
// TODO introduce global settings, allowing the client to modify them for all requests, not only timeout
|
||||
s = jQuery.extend({}, jQuery.ajaxSettings, s);
|
||||
var id = new Date().getTime()
|
||||
var form = jQuery.createUploadForm(id, s.fileElementId, (typeof(s.data)=='undefined'?false:s.data));
|
||||
var io = jQuery.createUploadIframe(id, s.secureuri);
|
||||
var frameId = 'jUploadFrame' + id;
|
||||
var formId = 'jUploadForm' + id;
|
||||
// Watch for a new set of requests
|
||||
if ( s.global && ! jQuery.active++ )
|
||||
{
|
||||
jQuery.event.trigger( "ajaxStart" );
|
||||
}
|
||||
var requestDone = false;
|
||||
// Create the request object
|
||||
var xml = {}
|
||||
if ( s.global )
|
||||
jQuery.event.trigger("ajaxSend", [xml, s]);
|
||||
// Wait for a response to come back
|
||||
var uploadCallback = function(isTimeout)
|
||||
{
|
||||
var io = document.getElementById(frameId);
|
||||
try
|
||||
{
|
||||
if(io.contentWindow)
|
||||
{
|
||||
xml.responseText = io.contentWindow.document.body?io.contentWindow.document.body.innerHTML:null;
|
||||
xml.responseXML = io.contentWindow.document.XMLDocument?io.contentWindow.document.XMLDocument:io.contentWindow.document;
|
||||
|
||||
}else if(io.contentDocument)
|
||||
{
|
||||
xml.responseText = io.contentDocument.document.body?io.contentDocument.document.body.innerHTML:null;
|
||||
xml.responseXML = io.contentDocument.document.XMLDocument?io.contentDocument.document.XMLDocument:io.contentDocument.document;
|
||||
}
|
||||
}catch(e)
|
||||
{
|
||||
jQuery.handleError(s, xml, null, e);
|
||||
}
|
||||
if ( xml || isTimeout == "timeout")
|
||||
{
|
||||
requestDone = true;
|
||||
var status;
|
||||
try {
|
||||
status = isTimeout != "timeout" ? "success" : "error";
|
||||
// Make sure that the request was successful or notmodified
|
||||
if ( status != "error" )
|
||||
{
|
||||
// process the data (runs the xml through httpData regardless of callback)
|
||||
var data = jQuery.uploadHttpData( xml, s.dataType );
|
||||
// If a local callback was specified, fire it and pass it the data
|
||||
if ( s.success )
|
||||
s.success( data, status );
|
||||
|
||||
// Fire the global callback
|
||||
if( s.global )
|
||||
jQuery.event.trigger( "ajaxSuccess", [xml, s] );
|
||||
} else
|
||||
jQuery.handleError(s, xml, status);
|
||||
} catch(e)
|
||||
{
|
||||
status = "error";
|
||||
jQuery.handleError(s, xml, status, e);
|
||||
}
|
||||
|
||||
// The request was completed
|
||||
if( s.global )
|
||||
jQuery.event.trigger( "ajaxComplete", [xml, s] );
|
||||
|
||||
// Handle the global AJAX counter
|
||||
if ( s.global && ! --jQuery.active )
|
||||
jQuery.event.trigger( "ajaxStop" );
|
||||
|
||||
// Process result
|
||||
if ( s.complete )
|
||||
s.complete(xml, status);
|
||||
|
||||
jQuery(io).unbind()
|
||||
|
||||
setTimeout(function()
|
||||
{ try
|
||||
{
|
||||
jQuery(io).remove();
|
||||
jQuery(form).remove();
|
||||
|
||||
} catch(e)
|
||||
{
|
||||
jQuery.handleError(s, xml, null, e);
|
||||
}
|
||||
|
||||
}, 100)
|
||||
|
||||
xml = null
|
||||
|
||||
}
|
||||
}
|
||||
// Timeout checker
|
||||
if ( s.timeout > 0 )
|
||||
{
|
||||
setTimeout(function(){
|
||||
// Check to see if the request is still happening
|
||||
if( !requestDone ) uploadCallback( "timeout" );
|
||||
}, s.timeout);
|
||||
}
|
||||
try
|
||||
{
|
||||
|
||||
var form = jQuery('#' + formId);
|
||||
jQuery(form).attr('action', s.url);
|
||||
jQuery(form).attr('method', 'POST');
|
||||
jQuery(form).attr('target', frameId);
|
||||
if(form.encoding)
|
||||
{
|
||||
jQuery(form).attr('encoding', 'multipart/form-data');
|
||||
}
|
||||
else
|
||||
{
|
||||
jQuery(form).attr('enctype', 'multipart/form-data');
|
||||
}
|
||||
jQuery(form).submit();
|
||||
|
||||
} catch(e)
|
||||
{
|
||||
jQuery.handleError(s, xml, null, e);
|
||||
}
|
||||
|
||||
jQuery('#' + frameId).load(uploadCallback );
|
||||
return {abort: function () {}};
|
||||
|
||||
},
|
||||
|
||||
uploadHttpData: function( r, type ) {
|
||||
var data = !type;
|
||||
data = type == "xml" || data ? r.responseXML : r.responseText;
|
||||
// If the type is "script", eval it in global context
|
||||
if ( type == "script" )
|
||||
jQuery.globalEval( data );
|
||||
// Get the JavaScript object, if JSON is used.
|
||||
if ( type == "json" ){
|
||||
data = r.responseText;
|
||||
|
||||
var start = data.indexOf(">");
|
||||
if(start != -1) {
|
||||
|
||||
var end = data.indexOf("<", start + 1);
|
||||
if(end != -1) {
|
||||
data = data.substring(start + 1, end);
|
||||
}
|
||||
}
|
||||
eval( "data = " + data );
|
||||
}
|
||||
|
||||
|
||||
// evaluate scripts within html
|
||||
if ( type == "html" )
|
||||
jQuery("<div>").html(data).evalScripts();
|
||||
|
||||
return data;
|
||||
}
|
||||
})
|
||||
|
13
frontend/static/js/plugins/formValidation/formValidation.min.js
vendored
Normal file
13
frontend/static/js/plugins/formValidation/formValidation.min.js
vendored
Normal file
File diff suppressed because one or more lines are too long
280
frontend/static/js/plugins/formValidation/framework/bootstrap.js
vendored
Normal file
280
frontend/static/js/plugins/formValidation/framework/bootstrap.js
vendored
Normal file
@@ -0,0 +1,280 @@
|
||||
/*!
|
||||
* FormValidation (http://formvalidation.io)
|
||||
* The best jQuery plugin to validate form fields. Support Bootstrap, Foundation, Pure, SemanticUI, UIKit and custom frameworks
|
||||
*
|
||||
* @version v0.6.2-dev, built on 2015-03-13 8:15:45 AM
|
||||
* @author https://twitter.com/nghuuphuoc
|
||||
* @copyright (c) 2013 - 2015 Nguyen Huu Phuoc
|
||||
* @license http://formvalidation.io/license/
|
||||
*/
|
||||
/**
|
||||
* This class supports validating Bootstrap form (http://getbootstrap.com/)
|
||||
*/
|
||||
(function($) {
|
||||
FormValidation.Framework.Bootstrap = function(element, options, namespace) {
|
||||
options = $.extend(true, {
|
||||
button: {
|
||||
selector: '[type="submit"]',
|
||||
// The class of disabled button
|
||||
// http://getbootstrap.com/css/#buttons-disabled
|
||||
disabled: 'disabled'
|
||||
},
|
||||
err: {
|
||||
// http://getbootstrap.com/css/#forms-help-text
|
||||
clazz: 'help-block',
|
||||
parent: '^(.*)col-(xs|sm|md|lg)-(offset-){0,1}[0-9]+(.*)$'
|
||||
},
|
||||
// This feature requires Bootstrap v3.1.0 or later (http://getbootstrap.com/css/#forms-control-validation).
|
||||
// Since Bootstrap doesn't provide any methods to know its version, this option cannot be on/off automatically.
|
||||
// In other word, to use this feature you have to upgrade your Bootstrap to v3.1.0 or later.
|
||||
//
|
||||
// Examples:
|
||||
// - Use Glyphicons icons:
|
||||
// icon: {
|
||||
// valid: 'glyphicon glyphicon-ok',
|
||||
// invalid: 'glyphicon glyphicon-remove',
|
||||
// validating: 'glyphicon glyphicon-refresh',
|
||||
// feedback: 'form-control-feedback'
|
||||
// }
|
||||
// - Use FontAwesome icons:
|
||||
// icon: {
|
||||
// valid: 'fa fa-check',
|
||||
// invalid: 'fa fa-times',
|
||||
// validating: 'fa fa-refresh',
|
||||
// feedback: 'form-control-feedback'
|
||||
// }
|
||||
icon: {
|
||||
valid: null,
|
||||
invalid: null,
|
||||
validating: null,
|
||||
feedback: 'form-control-feedback'
|
||||
},
|
||||
row: {
|
||||
// By default, each field is placed inside the <div class="form-group"></div>
|
||||
// http://getbootstrap.com/css/#forms
|
||||
selector: '.form-group',
|
||||
valid: 'has-success',
|
||||
invalid: 'has-error',
|
||||
feedback: 'has-feedback'
|
||||
}
|
||||
}, options);
|
||||
|
||||
FormValidation.Base.apply(this, [element, options, namespace]);
|
||||
};
|
||||
|
||||
FormValidation.Framework.Bootstrap.prototype = $.extend({}, FormValidation.Base.prototype, {
|
||||
/**
|
||||
* Specific framework might need to adjust the icon position
|
||||
*
|
||||
* @param {jQuery} $field The field element
|
||||
* @param {jQuery} $icon The icon element
|
||||
*/
|
||||
_fixIcon: function($field, $icon) {
|
||||
var ns = this._namespace,
|
||||
type = $field.attr('type'),
|
||||
field = $field.attr('data-' + ns + '-field'),
|
||||
row = this.options.fields[field].row || this.options.row.selector,
|
||||
$parent = $field.closest(row);
|
||||
|
||||
// Place it after the container of checkbox/radio
|
||||
// so when clicking the icon, it doesn't effect to the checkbox/radio element
|
||||
if ('checkbox' === type || 'radio' === type) {
|
||||
var $fieldParent = $field.parent();
|
||||
if ($fieldParent.hasClass(type)) {
|
||||
$icon.insertAfter($fieldParent);
|
||||
} else if ($fieldParent.parent().hasClass(type)) {
|
||||
$icon.insertAfter($fieldParent.parent());
|
||||
}
|
||||
}
|
||||
|
||||
// The feedback icon does not render correctly if there is no label
|
||||
// https://github.com/twbs/bootstrap/issues/12873
|
||||
if ($parent.find('label').length === 0) {
|
||||
$icon.addClass('fv-icon-no-label');
|
||||
}
|
||||
// Fix feedback icons in input-group
|
||||
if ($parent.find('.input-group').length !== 0) {
|
||||
$icon.addClass('fv-bootstrap-icon-input-group')
|
||||
.insertAfter($parent.find('.input-group').eq(0));
|
||||
}
|
||||
},
|
||||
|
||||
/**
|
||||
* Create a tooltip or popover
|
||||
* It will be shown when focusing on the field
|
||||
*
|
||||
* @param {jQuery} $field The field element
|
||||
* @param {String} message The message
|
||||
* @param {String} type Can be 'tooltip' or 'popover'
|
||||
*/
|
||||
_createTooltip: function($field, message, type) {
|
||||
var ns = this._namespace,
|
||||
$icon = $field.data(ns + '.icon');
|
||||
if ($icon) {
|
||||
switch (type) {
|
||||
case 'popover':
|
||||
$icon
|
||||
.css({
|
||||
'cursor': 'pointer',
|
||||
'pointer-events': 'auto'
|
||||
})
|
||||
.popover('destroy')
|
||||
.popover({
|
||||
container: 'body',
|
||||
content: message,
|
||||
html: true,
|
||||
placement: 'auto top',
|
||||
trigger: 'hover click'
|
||||
});
|
||||
break;
|
||||
|
||||
case 'tooltip':
|
||||
/* falls through */
|
||||
default:
|
||||
$icon
|
||||
.css({
|
||||
'cursor': 'pointer',
|
||||
'pointer-events': 'auto'
|
||||
})
|
||||
.tooltip('destroy')
|
||||
.tooltip({
|
||||
container: 'body',
|
||||
html: true,
|
||||
placement: 'auto top',
|
||||
title: message
|
||||
});
|
||||
break;
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
/**
|
||||
* Destroy the tooltip or popover
|
||||
*
|
||||
* @param {jQuery} $field The field element
|
||||
* @param {String} type Can be 'tooltip' or 'popover'
|
||||
*/
|
||||
_destroyTooltip: function($field, type) {
|
||||
var ns = this._namespace,
|
||||
$icon = $field.data(ns + '.icon');
|
||||
if ($icon) {
|
||||
switch (type) {
|
||||
case 'popover':
|
||||
$icon
|
||||
.css({
|
||||
'cursor': '',
|
||||
'pointer-events': 'none'
|
||||
})
|
||||
.popover('destroy');
|
||||
break;
|
||||
|
||||
case 'tooltip':
|
||||
/* falls through */
|
||||
default:
|
||||
$icon
|
||||
.css({
|
||||
'cursor': '',
|
||||
'pointer-events': 'none'
|
||||
})
|
||||
.tooltip('destroy');
|
||||
break;
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
/**
|
||||
* Hide a tooltip or popover
|
||||
*
|
||||
* @param {jQuery} $field The field element
|
||||
* @param {String} type Can be 'tooltip' or 'popover'
|
||||
*/
|
||||
_hideTooltip: function($field, type) {
|
||||
var ns = this._namespace,
|
||||
$icon = $field.data(ns + '.icon');
|
||||
if ($icon) {
|
||||
switch (type) {
|
||||
case 'popover':
|
||||
$icon.popover('hide');
|
||||
break;
|
||||
|
||||
case 'tooltip':
|
||||
/* falls through */
|
||||
default:
|
||||
$icon.tooltip('hide');
|
||||
break;
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
/**
|
||||
* Show a tooltip or popover
|
||||
*
|
||||
* @param {jQuery} $field The field element
|
||||
* @param {String} type Can be 'tooltip' or 'popover'
|
||||
*/
|
||||
_showTooltip: function($field, type) {
|
||||
var ns = this._namespace,
|
||||
$icon = $field.data(ns + '.icon');
|
||||
if ($icon) {
|
||||
switch (type) {
|
||||
case 'popover':
|
||||
$icon.popover('show');
|
||||
break;
|
||||
|
||||
case 'tooltip':
|
||||
/* falls through */
|
||||
default:
|
||||
$icon.tooltip('show');
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
/**
|
||||
* Plugin definition
|
||||
* Support backward
|
||||
* @deprecated It will be removed soon. Instead of using $(form).bootstrapValidator(), use
|
||||
* $(form).formValidation({
|
||||
* framework: 'bootstrap' // It's equivalent to use data-fv-framework="bootstrap" for <form>
|
||||
* });
|
||||
*/
|
||||
$.fn.bootstrapValidator = function(option) {
|
||||
var params = arguments;
|
||||
return this.each(function() {
|
||||
var $this = $(this),
|
||||
data = $this.data('formValidation') || $this.data('bootstrapValidator'),
|
||||
options = 'object' === typeof option && option;
|
||||
if (!data) {
|
||||
data = new FormValidation.Framework.Bootstrap(this, $.extend({}, {
|
||||
events: {
|
||||
// Support backward
|
||||
formInit: 'init.form.bv',
|
||||
formError: 'error.form.bv',
|
||||
formSuccess: 'success.form.bv',
|
||||
fieldAdded: 'added.field.bv',
|
||||
fieldRemoved: 'removed.field.bv',
|
||||
fieldInit: 'init.field.bv',
|
||||
fieldError: 'error.field.bv',
|
||||
fieldSuccess: 'success.field.bv',
|
||||
fieldStatus: 'status.field.bv',
|
||||
localeChanged: 'changed.locale.bv',
|
||||
validatorError: 'error.validator.bv',
|
||||
validatorSuccess: 'success.validator.bv'
|
||||
}
|
||||
}, options), 'bv');
|
||||
|
||||
$this.addClass('fv-form-bootstrap')
|
||||
.data('formValidation', data)
|
||||
.data('bootstrapValidator', data);
|
||||
}
|
||||
|
||||
// Allow to call plugin method
|
||||
if ('string' === typeof option) {
|
||||
data[option].apply(data, Array.prototype.slice.call(params, 1));
|
||||
}
|
||||
});
|
||||
};
|
||||
|
||||
$.fn.bootstrapValidator.Constructor = FormValidation.Framework.Bootstrap;
|
||||
}(jQuery));
|
379
frontend/static/js/plugins/formValidation/framework/zh_CN.js
Normal file
379
frontend/static/js/plugins/formValidation/framework/zh_CN.js
Normal file
@@ -0,0 +1,379 @@
|
||||
(function ($) {
|
||||
/**
|
||||
* Simplified Chinese language package
|
||||
* Translated by @shamiao
|
||||
*/
|
||||
FormValidation.I18n = $.extend(true, FormValidation.I18n, {
|
||||
'zh_CN': {
|
||||
base64: {
|
||||
'default': '请输入有效的Base64编码'
|
||||
},
|
||||
between: {
|
||||
'default': '请输入在 %s 和 %s 之间的数值',
|
||||
notInclusive: '请输入在 %s 和 %s 之间(不含两端)的数值'
|
||||
},
|
||||
bic: {
|
||||
'default': '请输入有效的BIC商品编码'
|
||||
},
|
||||
callback: {
|
||||
'default': '请输入有效的值'
|
||||
},
|
||||
choice: {
|
||||
'default': '请输入有效的值',
|
||||
less: '请至少选中 %s 个选项',
|
||||
more: '最多只能选中 %s 个选项',
|
||||
between: '请选择 %s 至 %s 个选项'
|
||||
},
|
||||
color: {
|
||||
'default': '请输入有效的颜色值'
|
||||
},
|
||||
creditCard: {
|
||||
'default': '请输入有效的信用卡号码'
|
||||
},
|
||||
cusip: {
|
||||
'default': '请输入有效的美国CUSIP代码'
|
||||
},
|
||||
cvv: {
|
||||
'default': '请输入有效的CVV代码'
|
||||
},
|
||||
date: {
|
||||
'default': '请输入有效的日期',
|
||||
min: '请输入 %s 或之后的日期',
|
||||
max: '请输入 %s 或以前的日期',
|
||||
range: '请输入 %s 和 %s 之间的日期'
|
||||
},
|
||||
different: {
|
||||
'default': '请输入不同的值'
|
||||
},
|
||||
digits: {
|
||||
'default': '请输入有效的数字'
|
||||
},
|
||||
ean: {
|
||||
'default': '请输入有效的EAN商品编码'
|
||||
},
|
||||
ein: {
|
||||
'default': '请输入有效的EIN商品编码'
|
||||
},
|
||||
emailAddress: {
|
||||
'default': '请输入有效的邮件地址'
|
||||
},
|
||||
file: {
|
||||
'default': '请选择有效的文件'
|
||||
},
|
||||
greaterThan: {
|
||||
'default': '请输入大于等于 %s 的数值',
|
||||
notInclusive: '请输入大于 %s 的数值'
|
||||
},
|
||||
grid: {
|
||||
'default': '请输入有效的GRId编码'
|
||||
},
|
||||
hex: {
|
||||
'default': '请输入有效的16进制数'
|
||||
},
|
||||
iban: {
|
||||
'default': '请输入有效的IBAN(国际银行账户)号码',
|
||||
country: '请输入有效的 %s 国家或地区的IBAN(国际银行账户)号码',
|
||||
countries: {
|
||||
AD: '安道尔',
|
||||
AE: '阿联酋',
|
||||
AL: '阿尔巴尼亚',
|
||||
AO: '安哥拉',
|
||||
AT: '奥地利',
|
||||
AZ: '阿塞拜疆',
|
||||
BA: '波斯尼亚和黑塞哥维那',
|
||||
BE: '比利时',
|
||||
BF: '布基纳法索',
|
||||
BG: '保加利亚',
|
||||
BH: '巴林',
|
||||
BI: '布隆迪',
|
||||
BJ: '贝宁',
|
||||
BR: '巴西',
|
||||
CH: '瑞士',
|
||||
CI: '科特迪瓦',
|
||||
CM: '喀麦隆',
|
||||
CR: '哥斯达黎加',
|
||||
CV: '佛得角',
|
||||
CY: '塞浦路斯',
|
||||
CZ: '捷克共和国',
|
||||
DE: '德国',
|
||||
DK: '丹麦',
|
||||
DO: '多米尼加共和国',
|
||||
DZ: '阿尔及利亚',
|
||||
EE: '爱沙尼亚',
|
||||
ES: '西班牙',
|
||||
FI: '芬兰',
|
||||
FO: '法罗群岛',
|
||||
FR: '法国',
|
||||
GB: '英国',
|
||||
GE: '格鲁吉亚',
|
||||
GI: '直布罗陀',
|
||||
GL: '格陵兰岛',
|
||||
GR: '希腊',
|
||||
GT: '危地马拉',
|
||||
HR: '克罗地亚',
|
||||
HU: '匈牙利',
|
||||
IE: '爱尔兰',
|
||||
IL: '以色列',
|
||||
IR: '伊朗',
|
||||
IS: '冰岛',
|
||||
IT: '意大利',
|
||||
JO: '约旦',
|
||||
KW: '科威特',
|
||||
KZ: '哈萨克斯坦',
|
||||
LB: '黎巴嫩',
|
||||
LI: '列支敦士登',
|
||||
LT: '立陶宛',
|
||||
LU: '卢森堡',
|
||||
LV: '拉脱维亚',
|
||||
MC: '摩纳哥',
|
||||
MD: '摩尔多瓦',
|
||||
ME: '黑山',
|
||||
MG: '马达加斯加',
|
||||
MK: '马其顿',
|
||||
ML: '马里',
|
||||
MR: '毛里塔尼亚',
|
||||
MT: '马耳他',
|
||||
MU: '毛里求斯',
|
||||
MZ: '莫桑比克',
|
||||
NL: '荷兰',
|
||||
NO: '挪威',
|
||||
PK: '巴基斯坦',
|
||||
PL: '波兰',
|
||||
PS: '巴勒斯坦',
|
||||
PT: '葡萄牙',
|
||||
QA: '卡塔尔',
|
||||
RO: '罗马尼亚',
|
||||
RS: '塞尔维亚',
|
||||
SA: '沙特阿拉伯',
|
||||
SE: '瑞典',
|
||||
SI: '斯洛文尼亚',
|
||||
SK: '斯洛伐克',
|
||||
SM: '圣马力诺',
|
||||
SN: '塞内加尔',
|
||||
TN: '突尼斯',
|
||||
TR: '土耳其',
|
||||
VG: '英属维尔京群岛'
|
||||
}
|
||||
},
|
||||
id: {
|
||||
'default': '请输入有效的身份证件号码',
|
||||
country: '请输入有效的 %s 国家或地区的身份证件号码',
|
||||
countries: {
|
||||
BA: '波黑',
|
||||
BG: '保加利亚',
|
||||
BR: '巴西',
|
||||
CH: '瑞士',
|
||||
CL: '智利',
|
||||
CN: '中国',
|
||||
CZ: '捷克共和国',
|
||||
DK: '丹麦',
|
||||
EE: '爱沙尼亚',
|
||||
ES: '西班牙',
|
||||
FI: '芬兰',
|
||||
HR: '克罗地亚',
|
||||
IE: '爱尔兰',
|
||||
IS: '冰岛',
|
||||
LT: '立陶宛',
|
||||
LV: '拉脱维亚',
|
||||
ME: '黑山',
|
||||
MK: '马其顿',
|
||||
NL: '荷兰',
|
||||
PL: '波兰',
|
||||
RO: '罗马尼亚',
|
||||
RS: '塞尔维亚',
|
||||
SE: '瑞典',
|
||||
SI: '斯洛文尼亚',
|
||||
SK: '斯洛伐克',
|
||||
SM: '圣马力诺',
|
||||
TH: '泰国',
|
||||
ZA: '南非'
|
||||
}
|
||||
},
|
||||
identical: {
|
||||
'default': '请输入相同的值'
|
||||
},
|
||||
imei: {
|
||||
'default': '请输入有效的IMEI(手机串号)'
|
||||
},
|
||||
imo: {
|
||||
'default': '请输入有效的国际海事组织(IMO)号码'
|
||||
},
|
||||
integer: {
|
||||
'default': '请输入有效的整数值'
|
||||
},
|
||||
ip: {
|
||||
'default': '请输入有效的IP地址',
|
||||
ipv4: '请输入有效的IPv4地址',
|
||||
ipv6: '请输入有效的IPv6地址'
|
||||
},
|
||||
isbn: {
|
||||
'default': '请输入有效的ISBN(国际标准书号)'
|
||||
},
|
||||
isin: {
|
||||
'default': '请输入有效的ISIN(国际证券编码)'
|
||||
},
|
||||
ismn: {
|
||||
'default': '请输入有效的ISMN(印刷音乐作品编码)'
|
||||
},
|
||||
issn: {
|
||||
'default': '请输入有效的ISSN(国际标准杂志书号)'
|
||||
},
|
||||
lessThan: {
|
||||
'default': '请输入小于等于 %s 的数值',
|
||||
notInclusive: '请输入小于 %s 的数值'
|
||||
},
|
||||
mac: {
|
||||
'default': '请输入有效的MAC物理地址'
|
||||
},
|
||||
meid: {
|
||||
'default': '请输入有效的MEID(移动设备识别码)'
|
||||
},
|
||||
notEmpty: {
|
||||
'default': '请填写必填项目'
|
||||
},
|
||||
numeric: {
|
||||
'default': '请输入有效的数值,允许小数'
|
||||
},
|
||||
phone: {
|
||||
'default': '请输入有效的电话号码',
|
||||
country: '请输入有效的 %s 国家或地区的电话号码',
|
||||
countries: {
|
||||
AE: '阿联酋',
|
||||
BG: '保加利亚',
|
||||
BR: '巴西',
|
||||
CN: '中国',
|
||||
CZ: '捷克共和国',
|
||||
DE: '德国',
|
||||
DK: '丹麦',
|
||||
ES: '西班牙',
|
||||
FR: '法国',
|
||||
GB: '英国',
|
||||
IN: '印度',
|
||||
MA: '摩洛哥',
|
||||
NL: '荷兰',
|
||||
PK: '巴基斯坦',
|
||||
RO: '罗马尼亚',
|
||||
RU: '俄罗斯',
|
||||
SK: '斯洛伐克',
|
||||
TH: '泰国',
|
||||
US: '美国',
|
||||
VE: '委内瑞拉'
|
||||
}
|
||||
},
|
||||
regexp: {
|
||||
'default': '请输入符合正则表达式限制的值'
|
||||
},
|
||||
remote: {
|
||||
'default': '请输入有效的值'
|
||||
},
|
||||
rtn: {
|
||||
'default': '请输入有效的RTN号码'
|
||||
},
|
||||
sedol: {
|
||||
'default': '请输入有效的SEDOL代码'
|
||||
},
|
||||
siren: {
|
||||
'default': '请输入有效的SIREN号码'
|
||||
},
|
||||
siret: {
|
||||
'default': '请输入有效的SIRET号码'
|
||||
},
|
||||
step: {
|
||||
'default': '请输入在基础值上,增加 %s 的整数倍的数值'
|
||||
},
|
||||
stringCase: {
|
||||
'default': '只能输入小写字母',
|
||||
upper: '只能输入大写字母'
|
||||
},
|
||||
stringLength: {
|
||||
'default': '请输入符合长度限制的值',
|
||||
less: '最多只能输入 %s 个字符',
|
||||
more: '需要输入至少 %s 个字符',
|
||||
between: '请输入 %s 至 %s 个字符'
|
||||
},
|
||||
uri: {
|
||||
'default': '请输入一个有效的URL地址'
|
||||
},
|
||||
uuid: {
|
||||
'default': '请输入有效的UUID',
|
||||
version: '请输入版本 %s 的UUID'
|
||||
},
|
||||
vat: {
|
||||
'default': '请输入有效的VAT(税号)',
|
||||
country: '请输入有效的 %s 国家或地区的VAT(税号)',
|
||||
countries: {
|
||||
AT: '奥地利',
|
||||
BE: '比利时',
|
||||
BG: '保加利亚',
|
||||
BR: '巴西',
|
||||
CH: '瑞士',
|
||||
CY: '塞浦路斯',
|
||||
CZ: '捷克共和国',
|
||||
DE: '德国',
|
||||
DK: '丹麦',
|
||||
EE: '爱沙尼亚',
|
||||
ES: '西班牙',
|
||||
FI: '芬兰',
|
||||
FR: '法语',
|
||||
GB: '英国',
|
||||
GR: '希腊',
|
||||
EL: '希腊',
|
||||
HU: '匈牙利',
|
||||
HR: '克罗地亚',
|
||||
IE: '爱尔兰',
|
||||
IS: '冰岛',
|
||||
IT: '意大利',
|
||||
LT: '立陶宛',
|
||||
LU: '卢森堡',
|
||||
LV: '拉脱维亚',
|
||||
MT: '马耳他',
|
||||
NL: '荷兰',
|
||||
NO: '挪威',
|
||||
PL: '波兰',
|
||||
PT: '葡萄牙',
|
||||
RO: '罗马尼亚',
|
||||
RU: '俄罗斯',
|
||||
RS: '塞尔维亚',
|
||||
SE: '瑞典',
|
||||
SI: '斯洛文尼亚',
|
||||
SK: '斯洛伐克',
|
||||
VE: '委内瑞拉',
|
||||
ZA: '南非'
|
||||
}
|
||||
},
|
||||
vin: {
|
||||
'default': '请输入有效的VIN(美国车辆识别号码)'
|
||||
},
|
||||
zipCode: {
|
||||
'default': '请输入有效的邮政编码',
|
||||
country: '请输入有效的 %s 国家或地区的邮政编码',
|
||||
countries: {
|
||||
AT: '奥地利',
|
||||
BG: '保加利亚',
|
||||
BR: '巴西',
|
||||
CA: '加拿大',
|
||||
CH: '瑞士',
|
||||
CZ: '捷克共和国',
|
||||
DE: '德国',
|
||||
DK: '丹麦',
|
||||
ES: '西班牙',
|
||||
FR: '法国',
|
||||
GB: '英国',
|
||||
IE: '爱尔兰',
|
||||
IN: '印度',
|
||||
IT: '意大利',
|
||||
MA: '摩洛哥',
|
||||
NL: '荷兰',
|
||||
PL: '波兰',
|
||||
PT: '葡萄牙',
|
||||
RO: '罗马尼亚',
|
||||
RU: '俄罗斯',
|
||||
SE: '瑞典',
|
||||
SG: '新加坡',
|
||||
SK: '斯洛伐克',
|
||||
US: '美国'
|
||||
}
|
||||
}
|
||||
}
|
||||
});
|
||||
}(jQuery));
|
Reference in New Issue
Block a user