UNPKG

@alifd/meet-react

Version:

Fusion Mobile React UI System Component

45 lines 1.62 kB
import { isUndef } from '../utils'; export function getValidationRules(name, options) { var validationRules = []; var addRule = function addRule(optName, defaultMessage, msgName) { if (isUndef(options[optName])) { return; } var r = {}; r[optName] = options[optName]; if (defaultMessage) { var msgParam = msgName || "".concat(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 = "".concat(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; } export 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; }