UNPKG

react-form-ui-y

Version:

133 lines (116 loc) 4 kB
'use strict'; Object.defineProperty(exports, "__esModule", { value: true }); exports.verifyFn = exports.formTypeDom = undefined; var _react = require('react'); var _react2 = _interopRequireDefault(_react); var _publicField = require('../publicField'); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } //input 获取值 var getValue = function getValue(_this) { var formDataValue = _this.props.formData[_this.props.dataType || "default"]; var inputData = formDataValue && formDataValue[_this.props.inputName]; return inputData && inputData.text ? inputData.text : ""; }; //input的校验 var verifyFn = function verifyFn(_this) { var required = _this.props.required || false, regex = _this.props.regex || false, initFocusState = _this.state.initFocusState, value = getValue(_this); var errorText = _this.props.errorText || "该值不能为空!"; var errorState = false; var subVerifyRes = _this.props.subVerifyRes && _this.props.subVerifyRes[_this.props.dataType || "default"]; //如果是必填 if (required) { if (subVerifyRes == "fail" || initFocusState == 1) { validate(value, _this); } else { errorState = false; } } function validate(value, _this) { if (!value) errorState = true; if (value && regex && !regex.test(value)) { errorState = true; errorText = _this.props.regexText; } if (value && !regex || value && regex && regex.test(value)) errorState = false; } //如果非必填 但有正则校验 if (!required && regex && initFocusState == 1) { if (regex.test(value)) { errorState = false; } else { errorState = true; errorText = _this.props.regexText; } } return { errorState: errorState, errorText: errorText }; }; /** * input value dom */ var formValueDom = function formValueDom(_this, styles, value, _theme) { return [!value ? _react2.default.createElement( 'span', { key: 1, style: styles.inputHintText }, _this.props.hintText ) : null, _this.props.disabled ? _react2.default.createElement( 'label', { key: 2, style: styles.inputBoxDis, title: value }, value ) : _react2.default.createElement('input', { key: 3, style: _this.state.focusState ? styles.inputBoxFocus : styles.inputBox, onFocus: _this.onfocus, onBlur: _this.onblur, onChange: _this.onchange, value: value, title: value })]; }; /** * formType 是 default 类型 * @param verifyFlag 校验返回值 */ var defaultDom = function defaultDom(_this, styles, verifyFlag, _theme) { if (!_this.props.inputName) { return _react2.default.createElement( 'div', null, 'inputName\u4E3A\u5FC5\u8981\u53C2\u6570' ); } return _react2.default.createElement( 'div', { style: styles.formBox }, (0, _publicField.formContDefault)(_this, styles, verifyFlag, getValue(_this), formValueDom, _theme), (0, _publicField.defaultError)(verifyFlag, styles) ); }; /** * formType 是 box 类型 * @param verifyFlag 校验返回值 */ var boxDom = function boxDom(_this, styles, verifyFlag, _theme) { if (!_this.props.inputName) { return _react2.default.createElement( 'div', null, 'inputName\u4E3A\u5FC5\u8981\u53C2\u6570' ); } return _react2.default.createElement( 'div', { style: styles.formBox }, (0, _publicField.formContBox)(_this, styles, verifyFlag, getValue(_this), formValueDom, _theme), (0, _publicField.boxError)(verifyFlag, styles) ); }; var formTypeDom = { defaultDom: defaultDom, boxDom: boxDom }; exports.formTypeDom = formTypeDom; exports.verifyFn = verifyFn; //# sourceMappingURL=subpage.js.map