UNPKG

@alifd/meet-react

Version:

Fusion Mobile React UI System Component

50 lines (49 loc) 1.72 kB
"use strict"; exports.__esModule = true; exports.getValidationRules = getValidationRules; exports.removeFormAttrs = removeFormAttrs; var _utils = require("../utils"); function getValidationRules(name, options) { var validationRules = []; var addRule = function (optName, defaultMessage, msgName) { if ((0, _utils.isUndef)(options[optName])) { return; } var r = {}; r[optName] = options[optName]; if (defaultMessage) { var msgParam = msgName || optName + "Message"; var msg = typeof options[msgParam] === 'undefined' ? defaultMessage : options[msgParam]; msg = msg.replace('{v:name}', name); msg = msg.replace('{v:value}', r[optName]); r.message = msg; } var trigger = optName + "Trigger"; if (typeof options[trigger] !== 'undefined') { r.trigger = options[trigger]; } validationRules.push(r); }; addRule('required', '必须填写{v:name}'); addRule('min', '{v:name}不能小于{v:value}', 'minmaxMessage'); addRule('max', '{v:name}不能大于{v:value}', 'minmaxMessage'); addRule('minLength', '{v:name}长度不能低于{v:value}', 'minmaxLengthMessage'); addRule('maxLength', '{v:name}长度不能超过{v:value}', 'minmaxLengthMessage'); addRule('length', '{v:name}必须是{v:value}位'); addRule('pattern', '{v:name}不满足要求'); addRule('format', '{v:name}必须是{v:value}'); addRule('validator'); return validationRules; } function removeFormAttrs(obj) { delete obj.field; delete obj.saveField; delete obj.autoUnmount; delete obj.autoValidate; delete obj.value; delete obj.defaultValue; delete obj.useLabelForErrorMessage; delete obj.onChange; delete obj.onSubmit; return obj; }