Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/yangtianxia/validator
A library for generating form data validation methods
https://github.com/yangtianxia/validator
Last synced: 3 months ago
JSON representation
A library for generating form data validation methods
- Host: GitHub
- URL: https://github.com/yangtianxia/validator
- Owner: yangtianxia
- License: mit
- Created: 2023-08-17T07:35:57.000Z (over 1 year ago)
- Default Branch: master
- Last Pushed: 2024-07-10T03:37:21.000Z (7 months ago)
- Last Synced: 2024-10-14T00:36:34.892Z (4 months ago)
- Language: TypeScript
- Homepage:
- Size: 22.5 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# @txjs/validator
> 安装方法默认npm
## 安装
```ts
npm i @txjs/validator
```## 基础示例
```ts
import { validator } from '@txjs/validator'const rules = validator({
name: {
required: true,
minlength: 2,
maxlength: 8
}
})// 规则内容
{
"name": [
{
"ruleName": "required",
"trigger": [
"change",
"blur"
],
"validator": (_, $$$value) => {…}
},
{
"ruleName": "minlength",
"trigger": "blur",
"validator": (_, $$$value) => {…}
},
{
"ruleName": "maxlength",
"trigger": "blur",
"validator": (_, $$$value) => {…}
}
]
}```
## 校验字段配置 ValidatorRules\
```ts
/** 自定义方法配置规则 */
interface CustomValidatorRule {
trigger?: Trigger
validator: CustomValidatorFunction
}/** 内置规则 */
export type DefaultsValidatorRules =
& Record<
| 'number'
| 'digits'
| 'telephone'
| 'email'
| 'landline'
| 'url'
| 'xss',
boolean | RuleType
>
& Record<
| 'minlength'
| 'maxlength'
| 'min'
| 'max',
number | RuleType
>
& Record<
| 'range'
| 'rangelength',
number[] | RuleType
>
& {
required: boolean | RuleType
contains: any[] | RuleType
}/** 暴露自定义规则 */
export declare interface CustomValidatorRules {
[key: string]: any
}type Rule =
& CustomValidatorRules
& Partial>
& {
/** 表单 label */
label?: string
/** 触发事件 */
trigger?: Trigger
/** 自定义规则 */
custom?: CustomValidatorRule[]
}
```## 支持方法
#### 内置验证方法
- required
- number
- digits
- contains
- minlength
- maxlength
- rangelength
- min
- max
- range
- xss
- telephone
- landline
- url#### add - 自定义验证方法
```ts
import { validator } from '@txjs/validator'validator.add('custom-name', config: ValidatorConfig)
```