UNPKG

react-input-validation

Version:
1 lines 7.21 kB
!function(e){if("object"==typeof exports&&"undefined"!=typeof module)module.exports=e();else if("function"==typeof define&&define.amd)define([],e);else{var t;t="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:this,t.ReactInputValidation=e()}}(function(){return function e(t,r,s){function i(o,a){if(!r[o]){if(!t[o]){var u="function"==typeof require&&require;if(!a&&u)return u(o,!0);if(n)return n(o,!0);var l=new Error("Cannot find module '"+o+"'");throw l.code="MODULE_NOT_FOUND",l}var p=r[o]={exports:{}};t[o][0].call(p.exports,function(e){var r=t[o][1][e];return i(r?r:e)},p,p.exports,e,t,r,s)}return r[o].exports}for(var n="function"==typeof require&&require,o=0;o<s.length;o++)i(s[o]);return i}({1:[function(e,t,r){(function(s){"use strict";function i(e){return e&&e.__esModule?e:{"default":e}}function n(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(r,"__esModule",{value:!0});var a=function(){function e(e,t){for(var r=0;r<t.length;r++){var s=t[r];s.enumerable=s.enumerable||!1,s.configurable=!0,"value"in s&&(s.writable=!0),Object.defineProperty(e,s.key,s)}}return function(t,r,s){return r&&e(t.prototype,r),s&&e(t,s),t}}(),u=function(e,t,r){for(var s=!0;s;){var i=e,n=t,o=r;s=!1,null===i&&(i=Function.prototype);var a=Object.getOwnPropertyDescriptor(i,n);if(void 0!==a){if("value"in a)return a.value;var u=a.get;if(void 0===u)return;return u.call(o)}var l=Object.getPrototypeOf(i);if(null===l)return;e=l,t=n,r=o,s=!0,a=l=void 0}},l="undefined"!=typeof window?window.React:"undefined"!=typeof s?s.React:null,p=i(l),d=e("./lib/validation-rules"),f=i(d),c=e("./lib/utils"),h=(i(c),function(e){function t(e){n(this,t),u(Object.getPrototypeOf(t.prototype),"constructor",this).call(this,e),this.state={errorMessage:this.props.emptyMessage,empty:this.isEmpty(this.props.value),valid:null},this._bind("handleChange","handlekeyPress")}return o(t,e),a(t,[{key:"_bind",value:function(){for(var e=this,t=arguments.length,r=Array(t),s=0;s<t;s++)r[s]=arguments[s];r.forEach(function(t){return e[t]=e[t].bind(e)})}},{key:"isEmpty",value:function(e){return""===e}},{key:"handleChange",value:function(e){this.setState({value:e.target.value,empty:this.isEmpty(e.target.value)}),this.props.validateType&&this.validateInput(e.target.value),"function"==typeof this.props.onChange&&this.props.onChange(e.target.value)}},{key:"handlekeyPress",value:function(e){"function"==typeof this.props.onKeyPress&&this.props.onKeyPress(e)}},{key:"isValid",value:function(){return this.props.validateType&&this.callValidateRules(this.props.value,this.props.validateType)?(this.setState({valid:!0,errorMessage:""}),!0):(this.setState({valid:!1,errorMessage:this.isEmpty(this.props.value)?this.props.emptyMessage:this.props.errorMessage}),!1)}},{key:"callValidateRules",value:function(e,t){switch(t){case"email":return f["default"].checkEmail(e);case"required":return!this.isEmpty(e);case"onlyPositiveNumbers":return f["default"].checkNumberPositive(e);case"url":return f["default"].checkUrl(e);case"password":return f["default"].checkPassword(e,this.props.passwordMinLength?this.props.passwordMinLength:6);case"re_password":return f["default"].checkRePassword(e,this.props.relValue);case"positiveNumberWithLimit":return f["default"].positiveNumberWithLimit(e,this.props.limitNumber||1);case"custom":return f["default"].customValidation(e,this.props.validatePattern)}}},{key:"validateInput",value:function(e){this.props.validateType&&this.callValidateRules(e,this.props.validateType)?this.setState({valid:!0}):this.setState({valid:!1,errorMessage:this.isEmpty(e)?this.props.emptyMessage:this.props.errorMessage})}},{key:"inputWithAddon",value:function(){return"left"===this.props.addonPos?p["default"].createElement("div",{className:"input-group"},p["default"].createElement("div",{className:"input-group-addon"},this.props.withAddon),this.regularInput()):p["default"].createElement("div",{className:"input-group"},this.regularInput(),p["default"].createElement("div",{className:"input-group-addon"},this.props.withAddon))}},{key:"regularInput",value:function(){return p["default"].createElement("input",{placeholder:this.props.placeholder,className:this.props.className?this.props.className+" form-control":"form-control",id:this.props.text,type:this.props.type,value:this.props.value,onChange:this.handleChange,onKeyPress:this.handlekeyPress})}},{key:"render",value:function(){var e=null!==this.state.valid?this.state.valid?"form-group has-success":"form-group has-error":"form-group";return p["default"].createElement("div",{className:e},p["default"].createElement("label",{className:"control-label",htmlFor:this.props.text},this.props.text),this.props.withAddon?this.inputWithAddon():this.regularInput(),p["default"].createElement("div",{className:null===this.state.valid||this.state.valid?"help-block hidden":"help-block"},this.state.errorMessage))}}]),t}(p["default"].Component));r["default"]=h,h.propTypes={onChange:p["default"].PropTypes.func,onKeyPress:p["default"].PropTypes.func,text:p["default"].PropTypes.string,emptyMessage:p["default"].PropTypes.string,errorMessage:p["default"].PropTypes.string,className:p["default"].PropTypes.string,placeholder:p["default"].PropTypes.string,type:p["default"].PropTypes.string,value:p["default"].PropTypes.string.isRequired,validateType:p["default"].PropTypes.oneOf(["email","required","onlyPositiveNumbers","url","password","re_password","positiveNumberWithLimit","custom"]),passwordMinLength:p["default"].PropTypes.number,limitNumber:p["default"].PropTypes.number,validatePattern:p["default"].PropTypes.string,relValue:p["default"].PropTypes.string,withAddon:p["default"].PropTypes.string,addonPos:p["default"].PropTypes.string,ref:p["default"].PropTypes.string},t.exports=r["default"]}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"./lib/utils":2,"./lib/validation-rules":3}],2:[function(e,t,r){"use strict";function s(){for(var e=this,t=arguments.length,r=Array(t),s=0;s<t;s++)r[s]=arguments[s];r.forEach(function(t){return e[t]=e[t].bind(e)})}t.exports={_bind:s}},{}],3:[function(e,t,r){"use strict";function s(e){return/^(([^<>()[\]\\.,;:\s@\"]+(\.[^<>()[\]\\.,;:\s@\"]+)*)|(\".+\"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/.test(e)}function i(e){return/^\+?([1-9]\d*)$/.test(e)}function n(e){return/^(http[s]?:\/\/){0,1}(www\.){0,1}[a-zA-Z0-9\.\-]+\.[a-zA-Z]{2,5}[\.]{0,1}/.test(e)}function o(e,t){return e.length>=t}function a(e,t){return e===t}function u(e,t){return!!(parseInt(e,10)<=parseInt(t,10)&&this.checkNumberPositive(e))}function l(e,t){var r=new RegExp(t);return r.test(e)}t.exports={checkEmail:s,checkNumberPositive:i,checkUrl:n,checkPassword:o,checkRePassword:a,positiveNumberWithLimit:u,customValidation:l}},{}]},{},[1])(1)});