UNPKG

@51yzone/pc-components

Version:

An enterprise-class UI design language and React-based implementation

113 lines (97 loc) 3.61 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); Object.defineProperty(exports, "__esModule", { value: true }); exports.pwdConfirmEffects = exports["default"] = void 0; require("@formily/antd-components/lib/password/style"); var _password = _interopRequireDefault(require("@formily/antd-components/lib/password")); var _react = _interopRequireDefault(require("react")); var _antd = require("@formily/antd"); var _icons = require("@ant-design/icons"); /** * 关键字:登录-验证密码 * 新增人:徐友万 * 完善中 */ var pwdReg = /^\S*(?=\S{6,})(?=\S*\d)(?=\S*[a-zA-Z])\S*$/; var pwdValidator = function pwdValidator(state, otherValue, selfValue) { var newState = state; if (pwdReg.test(selfValue) && pwdReg.test(otherValue) && selfValue !== otherValue) { newState.errors = '两次密码输入不一致'; } else { newState.errors = ''; } }; var onFieldValueChange$ = _antd.FormEffectHooks.onFieldValueChange$; var pwdConfirmEffects = function pwdConfirmEffects() { var _createFormActions = (0, _antd.createFormActions)(), setFieldState = _createFormActions.setFieldState, getFieldState = _createFormActions.getFieldState; onFieldValueChange$('*(pwd,rePwd)').subscribe(function (fieldState) { var selfName = fieldState.name; var selfValue = fieldState.value; var otherName = selfName === 'pwd' ? 'rePwd' : 'pwd'; var otherValue = getFieldState(otherName, function (state) { return state.value; }); setFieldState(otherName, function (state) { return pwdValidator(state, otherValue, selfValue); }); setFieldState(selfName, function (state) { return pwdValidator(state, otherValue, selfValue); }); }); }; exports.pwdConfirmEffects = pwdConfirmEffects; var PwdConfirm = function PwdConfirm(props) { var prefixIconVisible = props.prefixIconVisible, labelVisible = props.labelVisible, labelText = props.labelText, size = props.size, prefixCls = props.prefixCls; return /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, /*#__PURE__*/_react["default"].createElement(_antd.FormItem, { label: labelVisible && labelText, name: "pwd", rules: [{ required: true, message: "\u8BF7\u8F93\u5165".concat(labelText, "\uFF01") }, { pattern: pwdReg, message: '密码必须包含数字和字母,且不小于6位!' }], size: size, prefix: prefixIconVisible && /*#__PURE__*/_react["default"].createElement(_icons.LockOutlined, { className: "".concat(prefixCls, "__icon-outlined") }), maxLength: 16, placeholder: labelText, component: _password["default"] }), /*#__PURE__*/_react["default"].createElement(_antd.FormItem, { label: labelVisible && "\u786E\u8BA4".concat(labelText), name: "rePwd", rules: [{ required: true, message: "\u8BF7\u518D\u6B21\u8F93\u5165".concat(labelText, "\uFF01") }, { pattern: pwdReg, message: '密码必须包含数字和字母,且不小于6位!' }], size: size, prefix: prefixIconVisible && /*#__PURE__*/_react["default"].createElement(_icons.LockOutlined, { className: "".concat(prefixCls, "__icon-outlined") }), maxLength: 16, placeholder: "\u786E\u8BA4".concat(labelText), component: _password["default"] })); }; PwdConfirm.defaultProps = { prefixIconVisible: true, labelVisible: false, size: 'large', labelText: '新密码', prefixCls: 'yz-login' }; var _default = PwdConfirm; exports["default"] = _default;