@ignorance/vue-validator

vue plugin for form validate

Downloads in past

Stats

StarsIssuesVersionUpdatedCreatedSize
@ignorance/vue-validator
0.0.505 years ago5 years agoMinified + gzip package size for @ignorance/vue-validator in KB

Readme

license Coveralls npm NPM downloads 一个 VUE 表单校验插件. The library that based vue-validator can be shared to the vue-validator platform

特色

  1. 与 UI 组件库解耦,只提供最纯粹的校验功能(使用者可以自己选择使用校验结果来实现自己想要的功能)
  1. 配置约定,通过配置来定义表单的校验规则。实现表单校验与业务逻辑解耦
  1. 校验规则支持默认规则、正则表达式、校验函数
  1. 支持扩展默认的规则。(通过 extendRegexp 扩展正则规则,通过 extendValidator 扩展校验函数)
  1. 支持单个表单元素校验。(校验信息通过调用 $verify(<name>) 来获取)
  1. 支持提交时,校验不通过则自动拦截提交操作(可配置,通过 v-validate 指令的修饰符 autoCatch 来自动拦截提交)

安装

```bash npm install @ignorance/vue-validator --save-dev ```

使用

```js // main.js import validator from '@ignorance/vue-validator' // ... Vue.use(validator) ``` ```vue
<input placeholder="姓名" v-model="formData.name" name="name" :class="{ error: $isError('name') }" />
<input placeholder="电话" v-model="formData.tel" name="tel" :class="{ error: $isError('tel') }" />
<select name="habit" v-model="formData.habit" :class="{ error: $isError('habit') }">
<option value="">空</option>
<option value="1">睡觉</option>
<option value="2">打豆豆</option>
<option value="3">错误选项</option>
</select>
<OwnerBtn text="保存" v-validate:submit.autoCatch="validateData" />
姓名:{{ JSON.parse(JSON.stringify($verify('name'))) }}
手机:{{ JSON.parse(JSON.stringify($verify('tel'))) }}
爱好:{{ JSON.parse(JSON.stringify($verify('habit'))) }}
```

API

rules.extendRegexp()

扩展正则表达式规则
```js import validator, { rules } from '@ignorance/vue-validator' rules.extendRegexp({ ruleName: regexp, // ... }) ```

rules.extendValidator()

扩展自定义校验规则
```js import validator, { rules } from '@ignorance/vue-validator' rules.extendValidator({ ruleName: validator, // ... }) ```

$isError()

原型方法:校验某字段是否校验不通过。 ```vue ```

$verify()

原型方法:校验某字段是否校验信息(包含校验是否通过、不通过的提示信息)。 ```js $verify('mobile') // { valid: false, msg: '请输入正确的手机号码' } ```

formRef.validator()

表单引用对象上的校验方法(用于在提交时作整体校验) ```js function submit() { const { valid, msg } = this.$refs.myForm.validator() if (valid) {
// do something
} else {
alert(msg)
} } ```