fieldCheck.d.ts 3.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104
  1. /**
  2. * 表单字段验证库
  3. * author:kindring
  4. * date:2023/10/08
  5. */
  6. /**
  7. * @class FieldCheck
  8. * @description 表单字段验证类
  9. * @property {Array<ruleItem>} ruleItems 验证规则
  10. * @property {function} addRuleItem 添加一条验证规则
  11. * @property {function} verify 检查表单是否符合规则
  12. * @example
  13. * let fieldCheck = new FieldCheck();
  14. * fieldCheck.addRuleItem('rule1',['name'],[
  15. * {
  16. * type: 'string',
  17. * minLength: 2,
  18. * maxLength: 10,
  19. * message: '姓名必须为2-10个字符'
  20. * }
  21. * ]);
  22. * fieldCheck.addRuleItem('rule2',['age'],[
  23. * {
  24. * type: 'number',
  25. * min: 18,
  26. * max: 100,
  27. * message: '年龄必须为18-100岁'
  28. * }]);
  29. * let errMsg = fieldCheck.verify({
  30. * name: 'kindring',
  31. * age: 18});
  32. * console.log(errMsg);
  33. * // null
  34. * let errMsg = fieldCheck.verify({
  35. * name: 'kindring',
  36. * age: 17});
  37. * console.log(errMsg);
  38. * // 年龄必须为18-100岁
  39. */
  40. declare class FieldCheck {
  41. #private;
  42. code_pass: checkCode;
  43. code_notPass: number;
  44. code_notMatch: checkCode;
  45. constructor(ruleItems?: Array<ruleItem>);
  46. /**
  47. * 判断值是否定义
  48. * @param v
  49. * @returns {boolean}
  50. * @private
  51. */
  52. _isDef(v: any): boolean;
  53. _toString: () => string;
  54. /**
  55. * 判断是否为空
  56. * @param v 要检验的值
  57. */
  58. _isEmpty(v: any): boolean;
  59. /**
  60. * 判断是否为正则
  61. * @param v 要检验的值
  62. */
  63. _isRegExp(v: any): boolean;
  64. /**
  65. * 构建验证规则
  66. * @param {Array<string | RegExp>} checkFields 需要验证的字段
  67. * @param {Array<validatorFunction | checkRule>} ruleArr 验证规则
  68. * @returns {ruleItem} 验证规则对象
  69. */
  70. buildRuleItem(name: string, checkFields: checkFields, ruleArr: Array<validatorFunction | checkRule>): ruleItem;
  71. /**
  72. * 添加一条验证规则
  73. * @param ruleName 验证规则名,用于区分
  74. * @param checkFields 用于匹配字段的字符或者正则数组
  75. * @param ruleArr 验证规则
  76. * @returns 返回当前对象
  77. */
  78. addRuleItem(ruleName: string, checkFields: checkFields, ruleArr: Array<validatorFunction | checkRule>): this;
  79. /**
  80. * 获取验证规则
  81. * @param field 字段名
  82. * @returns 验证规则
  83. */
  84. getRuleItem(field: string): ruleItem | undefined;
  85. /**
  86. * 检查字段是否符合规则
  87. * @param field 字段名
  88. * @param value 字段值
  89. * @returns {Array<checkCode | ?errMessage>} 错误码或错误信息
  90. */
  91. checkField(field: string, value: any): [
  92. checkCode,
  93. errMessage
  94. ] | [checkCode];
  95. /**
  96. * 检查表单是否符合规则
  97. * @param {verifyForm} formObject 需要检验的表单项 字段:值
  98. * @param [isMustMatch] 是否强制要求匹配规则
  99. * @returns errMessage 错误码或错误信息
  100. */
  101. verify(formObject: verifyForm, isMustMatch?: boolean): errMessage;
  102. }
  103. export default FieldCheck;
  104. //# sourceMappingURL=fieldCheck.d.ts.map