function formatNumber(n){var i=n(),t=ko.utils.unwrapObservable(i),r=Math.abs(t-Math.floor(t))>.009;return r?Globalize.format(t,"n2"):Globalize.format(t,"n0")}function minMaxValidatorFactory(n,t){var i=n==="max";return function(r,u){var o,c,s,f,e,l,h;if(ko.validation.utils.isEmptyVal(r))return!0;u.typeAttr===undefined?(c="text",o=u):(c=u.typeAttr,o=u.value);isNaN(o)||(c="number");switch(c.toLowerCase()){case"week":if(s=/^(\d{4})-W(\d{2})$/,f=r.match(s),f===null)throw"Invalid value for "+n+" attribute for week input. Should look like '2000-W33' http://www.w3.org/TR/html-markup/input.week.html#input.week.attrs.min";return(e=o.match(s),!e)?!1:i?f[1]e[1]||f[1]===e[1]&&f[2]>=e[2];case"month":if(s=/^(\d{4})-(\d{2})$/,f=r.match(s),f===null)throw"Invalid value for "+n+" attribute for month input. Should look like '2000-03' http://www.w3.org/TR/html-markup/input.month.html#input.month.attrs.min";return(e=o.match(s),!e)?!1:i?f[1]e[1]||f[1]===e[1]&&f[2]>=e[2];case"number":case"range":if(r==null)return!0;if(l=typeof r=="number",l){if(isNaN(r))return!1}else r=Globalize.parseFloat(r);return h=parseFloat(o),i?t?!isNaN(r)&&rh:!isNaN(r)&&r>=h;default:return i?t?ro:r>=o}}}ko.subscribable.fn.subscribeChanged=function(n){var t;this.subscribe(function(n){t=n},undefined,"beforeChange");this.subscribe(function(i){n(i,t)})};ko.extenders.liveEditor=function(n){return n.editing=ko.observable(!1),n.edit=function(){n.editing(!0)},n.stopEditing=function(){n.editing(!1)},n};ko.bindingHandlers.numericValue={init:function(n,t){$(n).val(formatNumber(t));t().subscribeChanged(function(n,i){if(!Math.isNumber(n)){var r=t();r(i)}});ko.utils.registerEventHandler(n,"change",function(){var i=t();i(Globalize.parseFloat($(n).val()))})},update:function(n,t){$(n).val(formatNumber(t))}};ko.utils.stringStartsWith=function(n,t){return(n=n||"",t.length>n.length)?!1:n.substring(0,t.length)===t};ko.utils.tagNameLower=function(n){return n&&n.tagName&&n.tagName.toLowerCase()};ko.utils.arrayIndexOf=function(n,t){if(typeof Array.prototype.indexOf=="function")return Array.prototype.indexOf.call(n,t);for(var i=0,r=n.length;i=0&&t<=20)return t;throw"Invalid decimalPlaces '"+i+"' for valueNumber binding. Must be integer from 0 to 20.";}return null},parseFloat:function(n,t){var i=null,r;return n==""?null:(r=typeof n=="number",i=r?n:Globalize.parseFloat(n),(i||i==0)&&(t||t==0)&&(i=parseFloat(i.toFixed(t))),i)},format:function(n,t){return Globalize.format(n,t||t==0?"n"+t:null)}};ko.bindingHandlers.valueNumber={init:function(n,t,i){var r=["change"],u=i().valueUpdate,f=!1;u&&(typeof u=="string"&&(u=[u]),ko.utils.arrayPushAll(r,u),r=ko.utils.arrayGetDistinctValues(r));var o=ko.redham.getDecimalPlaces(i),e=function(){f=!1;var u=t(),r=ko.selectExtensions.readValue(n);r=ko.redham.parseFloat(r,o);ko.expressionRewriting.writeValueToProperty(u,i,"value",r)},s=ko.utils.ieVersion&&n.tagName.toLowerCase()=="input"&&n.type=="text"&&n.autocomplete!="off"&&(!n.form||n.form.autocomplete!="off");s&&ko.utils.arrayIndexOf(r,"propertychange")==-1&&(ko.utils.registerEventHandler(n,"propertychange",function(){f=!0}),ko.utils.registerEventHandler(n,"blur",function(){f&&e()}));ko.utils.arrayForEach(r,function(t){var i=e;ko.utils.stringStartsWith(t,"after")&&(i=function(){setTimeout(e,0)},t=t.substring(5));ko.utils.registerEventHandler(n,t,i)})},update:function(n,t,i){var h=ko.utils.tagNameLower(n)==="select",r=ko.utils.unwrapObservable(t()),u=ko.selectExtensions.readValue(n),e=ko.redham.getDecimalPlaces(i),o,f,s;u=ko.redham.parseFloat(u,e);o=!isNaN(r)&&r!==u;r=ko.redham.format(r,e);o&&(f=function(){ko.selectExtensions.writeValue(n,r)},f(),s=h,s&&setTimeout(f,0))}};ko.bindingHandlers.html={init:function(){return{controlsDescendantBindings:!0}},update:function(n,t,i){ko.utils.setHtml(n,t());var r=i().afterRender;r&&r(n)}};!function(n){"function"==typeof require&&"object"==typeof exports&&"object"==typeof module?n(require("knockout"),exports):"function"==typeof define&&define.amd?define(["knockout","exports"],n):n(ko,ko.validation={})}(function(n,t){function s(n){var t="max"===n;return function(r,u){var o,h,s,f,e;if(i.utils.isEmptyVal(r))return!0;void 0===u.typeAttr?(h="text",o=u):(h=u.typeAttr,o=u.value);isNaN(o)||(h="number");switch(h.toLowerCase()){case"week":if(s=/^(\d{4})-W(\d{2})$/,f=r.match(s),null===f)throw"Invalid value for "+n+" attribute for week input. Should look like '2000-W33' http://www.w3.org/TR/html-markup/input.week.html#input.week.attrs.min";return e=o.match(s),e?t?f[1]e[1]||f[1]===e[1]&&f[2]>=e[2]:!1;case"month":if(s=/^(\d{4})-(\d{2})$/,f=r.match(s),null===f)throw"Invalid value for "+n+" attribute for month input. Should look like '2000-03' http://www.w3.org/TR/html-markup/input.month.html#input.month.attrs.min";return e=o.match(s),e?t?f[1]e[1]||f[1]===e[1]&&f[2]>=e[2]:!1;case"number":case"range":return t?!isNaN(r)&&parseFloat(r)<=parseFloat(o):!isNaN(r)&&parseFloat(r)>=parseFloat(o);default:return t?o>=r:r>=o}}}function a(n,t,r){return t.validator(n(),void 0===r.params?!0:r.params)?!0:(n.setError(i.formatMessage(r.message||t.message,r.params)),!1)}function v(n,t,r){n.isValidating(!0);var u=function(u){var f=!1,e="";return n.__valid__()?(u.message?(f=u.isValid,e=u.message):f=u,f||(n.error(i.formatMessage(e||r.message||t.message,r.params)),n.__valid__(f)),n.isValidating(!1),void 0):(n.isValidating(!1),void 0)};t.validator(n(),r.params||!0,u)}var c,l;if(void 0===typeof n)throw"Knockout is required, please ensure it is loaded before loading this validation plug-in";n.validation=t;var i=n.validation,e=n.utils,f=e.unwrapObservable,r=e.arrayForEach,u=e.extend,h={registerExtenders:!0,messagesOnModified:!0,errorsAsTitle:!0,errorsAsTitleOnModified:!1,messageTemplate:null,insertMessages:!0,parseInputAttributes:!1,writeInputAttributes:!1,decorateElement:!1,decorateElementOnModified:!0,errorClass:null,errorElementClass:"validationElement",errorMessageClass:"validationMessage",grouping:{deep:!1,observable:!0},validate:{}},o=u({},h);o.html5Attributes=["required","pattern","min","max","step"];o.html5InputTypes=["email","number","date"];o.reset=function(){u(o,h)};i.configuration=o;i.utils=function(){var r=(new Date).getTime(),t={},n="__ko_validation__";return{isArray:function(n){return n.isArray||"[object Array]"===Object.prototype.toString.call(n)},isObject:function(n){return null!==n&&"object"==typeof n},values:function(n){var t=[];for(var i in n)n.hasOwnProperty(i)&&t.push(n[i]);return t},getValue:function(n){return"function"==typeof n?n():n},hasAttribute:function(n,t){return null!==n.getAttribute(t)},getAttribute:function(n,t){return n.getAttribute(t)},setAttribute:function(n,t,i){return n.setAttribute(t,i)},isValidatable:function(n){return n&&n.rules&&n.isValid&&n.isModified},insertAfter:function(n,t){n.parentNode.insertBefore(t,n.nextSibling)},newId:function(){return r+=1},getConfigOptions:function(n){var t=i.utils.contextFor(n);return t||i.configuration},setDomData:function(r,u){var f=r[n];f||(r[n]=f=i.utils.newId());t[f]=u},getDomData:function(i){var r=i[n];if(r)return t[r]},contextFor:function(n){switch(n.nodeType){case 1:case 8:var t=i.utils.getDomData(n);if(t)return t;if(n.parentNode)return i.utils.contextFor(n.parentNode)}return void 0},isEmptyVal:function(n){return void 0===n?!0:null===n?!0:""===n?!0:void 0},getOriginalElementTitle:function(n){var t=i.utils.getAttribute(n,"data-orig-title"),r=n.title,u=i.utils.hasAttribute(n,"data-orig-title");return u?t:r},async:function(n){window.setImmediate?window.setImmediate(n):window.setTimeout(n,0)}}}();c=function(){var s=0,o=i.configuration,t=i.utils;return{init:function(n,t){s>0&&!t||(n=n||{},n.errorElementClass=n.errorElementClass||n.errorClass||o.errorElementClass,n.errorMessageClass=n.errorMessageClass||n.errorClass||o.errorMessageClass,u(o,n),o.registerExtenders&&i.registerExtenders(),s=1)},configure:function(n){i.init(n)},reset:i.configuration.reset,group:function(i,e){e=u(u({},o.grouping),e);var h=n.observableArray([]),s=null,c=[],l=function(){e.deep&&r(c,function(n){delete n.__kv_traversed})},a=function v(i,u){var s=[],o=f(i);i.__kv_traversed!==!0&&(e.deep&&(i.__kv_traversed=!0,c.push(i)),u=void 0!==u?u:e.deep?1:-1,n.isObservable(i)&&(i.isValid||i.extend({validatable:!0}),h.push(i)),o&&(t.isArray(o)?s=o:t.isObject(o)&&(s=t.values(o))),0!==u&&r(s,function(n){n&&!n.nodeType&&v(n,u+1)}))};return e.observable?(a(i),l(),s=n.computed(function(){var n=[];return r(h(),function(t){t.isValid()||n.push(t.error)}),n})):s=function(){var n=[];return h([]),a(i),l(),r(h(),function(t){t.isValid()||n.push(t.error)}),n},s.showAllMessages=function(n){void 0===n&&(n=!0);s();r(h(),function(t){t.isModified(n)})},i.errors=s,i.isValid=function(){return 0===i.errors().length},i.isAnyMessageShown=function(){var n=!1;return s(),r(h(),function(t){!t.isValid()&&t.isModified()&&(n=!0)}),n},s},formatMessage:function(n,t){return"function"==typeof n?n(t):n.replace(/\{0\}/gi,f(t))},addRule:function(n,t){return n.extend({validatable:!0}),n.rules.push(t),n},addAnonymousRule:function(n,r){var u=t.newId();void 0===r.message&&(r.message="Error");i.rules[u]=r;i.addRule(n,{rule:u,params:r.params})},addExtender:function(r){n.extenders[r]=function(n,u){return u.message||u.onlyIf?i.addRule(n,{rule:r,message:u.message,params:t.isEmptyVal(u.params)?!0:u.params,condition:u.onlyIf}):i.addRule(n,{rule:r,params:u})}},registerExtenders:function(){if(o.registerExtenders)for(var t in i.rules)i.rules.hasOwnProperty(t)&&(n.extenders[t]||i.addExtender(t))},insertValidationMessage:function(n){var i=document.createElement("SPAN");return i.className=t.getConfigOptions(n).errorMessageClass,t.insertAfter(n,i),i},parseInputValidationAttributes:function(n,u){r(i.configuration.html5Attributes,function(r){var e,f;t.hasAttribute(n,r)&&(e=n.getAttribute(r)||!0,("min"===r||"max"===r)&&(f=n.getAttribute("type"),"undefined"!=typeof f&&f||(f="text"),e={typeAttr:f,value:e}),i.addRule(u(),{rule:r,params:e}))});var f=n.getAttribute("type");r(i.configuration.html5InputTypes,function(n){n===f&&i.addRule(u(),{rule:"date"===n?"dateISO":n,params:!0})})},writeInputValidationAttributes:function(n,t){var u=t(),f;u&&u.rules&&(f=u.rules(),r(i.configuration.html5Attributes,function(t){var r,i=e.arrayFirst(f,function(n){return n.rule.toLowerCase()===t.toLowerCase()});i&&(r=i.params,"pattern"===i.rule&&i.params instanceof RegExp&&(r=i.params.source),n.setAttribute(t,r))}),f=null)},makeBindingHandlerValidatable:function(t){var i=n.bindingHandlers[t].init;n.bindingHandlers[t].init=function(t,r,u,f,e){return i(t,r,u,f,e),n.bindingHandlers.validationCore.init(t,r,u,f,e)}},setRules:function(r,u){var e=function(r,u){var s,h,o,l;if(r&&u)for(s in u)if(u.hasOwnProperty(s)&&(h=u[s],r[s])){var a=r[s],c=f(a),y={},v={};for(o in h)h.hasOwnProperty(o)&&(i.rules[o]?y[o]=h[o]:v[o]=h[o]);if(n.isObservable(a)&&a.extend(y),c&&t.isArray(c))for(l=0;l0:!0)},message:"This field is required."};i.rules.min={validator:s("min"),message:"Please enter a value greater than or equal to {0}."};i.rules.max={validator:s("max"),message:"Please enter a value less than or equal to {0}."};i.rules.minLength={validator:function(n,t){return i.utils.isEmptyVal(n)||n.length>=t},message:"Please enter at least {0} characters."};i.rules.maxLength={validator:function(n,t){return i.utils.isEmptyVal(n)||n.length<=t},message:"Please enter no more than {0} characters."};i.rules.pattern={validator:function(n,t){return i.utils.isEmptyVal(n)||null!==n.toString().match(t)},message:"Please check this value."};i.rules.step={validator:function(n,t){if(i.utils.isEmptyVal(n)||"any"===t)return!0;var r=100*n%(100*t);return Math.abs(r)<1e-5||Math.abs(1-r)<1e-5},message:"The value must increment by {0}"};i.rules.email={validator:function(n,t){return t?i.utils.isEmptyVal(n)||t&&/^((([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.test(n):!0},message:"Please enter a proper email address"};i.rules.date={validator:function(n,t){return t?i.utils.isEmptyVal(n)||t&&!/Invalid|NaN/.test(new Date(n)):!0},message:"Please enter a proper date"};i.rules.dateISO={validator:function(n,t){return t?i.utils.isEmptyVal(n)||t&&/^\d{4}[\/\-]\d{1,2}[\/\-]\d{1,2}$/.test(n):!0},message:"Please enter a proper date"};i.rules.number={validator:function(n,t){return t?i.utils.isEmptyVal(n)||t&&/^-?(?:\d+|\d{1,3}(?:,\d{3})+)?(?:\.\d+)?$/.test(n):!0},message:"Please enter a number"};i.rules.digit={validator:function(n,t){return t?i.utils.isEmptyVal(n)||t&&/^\d+$/.test(n):!0},message:"Please enter a digit"};i.rules.phoneUS={validator:function(n,t){return t?i.utils.isEmptyVal(n)?!0:"string"!=typeof n?!1:(n=n.replace(/\s+/g,""),t&&n.length>9&&n.match(/^(1-?)?(\([2-9]\d{2}\)|[2-9]\d{2})-?[2-9]\d{2}-?\d{4}$/)):!0},message:"Please specify a valid phone number"};i.rules.equal={validator:function(n,t){var r=t;return n===i.utils.getValue(r)},message:"Values must equal"};i.rules.notEqual={validator:function(n,t){var r=t;return n!==i.utils.getValue(r)},message:"Please choose another value."};i.rules.unique={validator:function(n,t){var r=i.utils.getValue(t.collection),u=i.utils.getValue(t.externalValue),o=0;return n&&r?(e.arrayFilter(f(r),function(i){n===(t.valueAccessor?t.valueAccessor(i):i)&&o++}),(void 0!==u&&n!==u?1:2)>o):!0},message:"Please make sure the value is unique."},function(){i.registerExtenders()}();n.bindingHandlers.validationCore=function(){return{init:function(t,r){var u=i.utils.getConfigOptions(t),f=r(),e;(u.parseInputAttributes&&i.utils.async(function(){i.parseInputValidationAttributes(t,r)}),u.insertMessages&&i.utils.isValidatable(f))&&(e=i.insertValidationMessage(t),u.messageTemplate?n.renderTemplate(u.messageTemplate,{field:f},null,e,"replaceNode"):n.applyBindingsToNode(e,{validationMessage:f}));u.writeInputAttributes&&i.utils.isValidatable(f)&&i.writeInputValidationAttributes(t,r);u.decorateElement&&i.utils.isValidatable(f)&&n.applyBindingsToNode(t,{validationElement:f})},update:function(){}}}();i.makeBindingHandlerValidatable("value");i.makeBindingHandlerValidatable("checked");n.bindingHandlers.validationMessage={update:function(t,r){var u=r(),s=i.utils.getConfigOptions(t),e=(f(u),!1),o=!1,h,c;u.extend({validatable:!0});e=u.isModified();o=u.isValid();h=function(){return!s.messagesOnModified||e?o?null:u.error:null};c=function(){return!s.messagesOnModified||e?!o:!1};n.bindingHandlers.text.update(t,h);n.bindingHandlers.visible.update(t,c)}};n.bindingHandlers.validationElement={update:function(t,r){var u=r(),e=i.utils.getConfigOptions(t),s=(f(u),!1),o=!1,h;u.extend({validatable:!0});s=u.isModified();o=u.isValid();h=function(){var n={},t=!e.decorateElementOnModified||s?!o:!1;return e.decorateElement||(t=!1),n[e.errorElementClass]=t,n};n.bindingHandlers.css.update(t,h);e.errorsAsTitle&&n.bindingHandlers.attr.update(t,function(){var n=!e.errorsAsTitleOnModified||s,r=i.utils.getOriginalElementTitle(t);return n&&!o?{title:u.error,"data-orig-title":r}:!n||o?{title:r,"data-orig-title":null}:void 0})}};n.bindingHandlers.validationOptions=function(){return{init:function(n,t){var e=f(t()),r;e&&(r=u({},i.configuration),u(r,e),i.utils.setDomData(n,r))}}}();n.extenders.validation=function(n,t){return r(i.utils.isArray(t)?t:[t],function(t){i.addAnonymousRule(n,t)}),n};n.extenders.validatable=function(t,r){var o,f,s,e;return(i.utils.isObject(r)||(r={enable:r}),"enable"in r||(r.enable=!0),r.enable&&!i.utils.isValidatable(t))?(o=i.configuration.validate||{},f={throttleEvaluation:r.throttle||o.throttle},t.error=n.observable(null),t.rules=n.observableArray(),t.isValidating=n.observable(!1),t.__valid__=n.observable(!0),t.isModified=n.observable(!1),t.isValid=n.computed(t.__valid__),t.setError=function(n){t.error(n);t.__valid__(!1)},t.clearError=function(){t.error(null);t.__valid__(!0)},s=t.subscribe(function(){t.isModified(!0)}),e=n.computed(u({read:function(){return t(),t.rules(),i.validateObservable(t),!0}},f)),u(e,f),t._disposeValidation=function(){t.isValid.dispose();t.rules.removeAll();t.isModified._subscriptions.change=[];t.isValidating._subscriptions.change=[];t.__valid__._subscriptions.change=[];s.dispose();e.dispose();delete t.rules;delete t.error;delete t.isValid;delete t.isValidating;delete t.__valid__;delete t.isModified}):r.enable===!1&&t._disposeValidation&&t._disposeValidation(),t};i.validateObservable=function(n){for(var r,t,u=0,f=n.rules(),e=f.length;e>u;u++)if(t=f[u],!t.condition||t.condition())if(r=i.rules[t.rule],r.async||t.async)v(n,r,t);else if(!a(n,r,t))return!1;return n.clearError(),!0};i.localize=function(n){for(var t in n)i.rules.hasOwnProperty(t)&&(i.rules[t].message=n[t])};n.applyBindingsWithValidation=function(t,r,u){var f,e,o=arguments.length;o>2?(f=r,e=u):2>o?f=document.body:arguments[1].nodeType?f=r:e=arguments[1];i.init();e&&i.utils.setDomData(f,e);n.applyBindings(t,r)};l=n.applyBindings;n.applyBindings=function(n,t){i.init();l(n,t)};n.validatedObservable=function(t){if(!i.utils.isObject(t))return n.observable(t).extend({validatable:!0});var r=n.observable(t);return r.isValid=n.observable(),r.errors=i.group(t),r.errors.subscribe(function(n){r.isValid(0===n.length)}),r}});ko.validation.makeBindingHandlerValidatable("valueNumber");ko.validation.rules.min={validator:minMaxValidatorFactory("min"),message:"Please enter a value greater than or equal to {0}."};ko.validation.rules.max={validator:minMaxValidatorFactory("max"),message:"Please enter a value less than or equal to {0}."};ko.validation.rules.minExclusive={validator:minMaxValidatorFactory("min",!0),message:"Значение должно быть больше {0}."};ko.validation.rules.maxExclusive={validator:minMaxValidatorFactory("max",!0),message:"Значение должно быть меньше {0}."};ko.validation.rules.number={validator:function(n,t){if(!t||ko.validation.utils.isEmptyVal(n))return!0;var i=ko.redham.parseFloat(n);return i==0||i&&!isNaN(i)},message:"Please enter a number"};ko.validation.rules.validArray={validator:function(n,t){if(!n||typeof n!="object"||!(n instanceof Array))throw"[validArray] Parameter must be an array";return t===(n.filter(function(n){return ko.validation.group(ko.utils.unwrapObservable(n))().length!==0}).length===0)},message:"Every element in the array must validate to '{0}'"};ko.validation.rules.atLeastOne={validator:function(n){return n.length>0},message:"Массив должен содержать как минимум один элемент."};ko.validation.localize({required:"Необходимо заполнить это поле.",min:"Значение должно быть не меньше {0}.",max:"Значение должно быть не больше {0}.",minLength:"Длина поля должна быть не меньше {0} символов.",maxLength:"Длина поля должна быть не больше {0} символов.",pattern:"Пожалуйста проверьте это поле.",step:"Значение поле должно изменяться с шагом {0}",email:"Введите в поле правильный адрес email",date:"Пожалуйста введите правильную дату",dateISO:"Пожалуйста введите правильную дату в формате ISO",number:"Поле должно содержать число",digit:"Поле должно содержать цифры",phoneUS:"Поле должно содержать правильный номер телефона",equal:"Значения должны быть равны",notEqual:"Пожалуйста выберите другое значение.",unique:"Значение должно быть уникальным."})