async-validator表單驗證1

前端開發(fā)中表單提交校驗是一個很常見的功能;于是就仿照ElementUi寫了一個表單驗證的組件。本文就簡單介紹一下 async-validator 的基本用法;下一篇介紹使用該庫實現(xiàn)一個簡單的有校驗功能的 Form 組件。

安裝

npm i async-validate

使用

1.amd方式引用 var schema = require('async-validate')
2 cmd方式引用 import AsyncValidator from 'async-validator'

AsyncValidator是一個構(gòu)造函數(shù);使用的時候需要我們傳入規(guī)則驗證器
formRules = {
username: [
? ? {
? ? ? ? required: true,
? ? ? ? type: string,
? ? ? ? message: '請?zhí)顚懹脩裘?
? ? },
? ? {
? ? ? ? min: 3,
? ? ? ? max: 10,
? ? ? ? message: '用戶名長度為3-10'
? ? }
? ]
}
const validator = new AsyncValidator(formRules)
validator. validate({username:''},[options], (errors, fields) => {
? ? if(errors) {
? ? ? ? return handleErrors(errors, fields);
? ? }
// validation passed
})

formRules是一個驗證器:定義規(guī)則,也可以自定義規(guī)則;
自定義規(guī)則:
Rules:function(rule, value, callback, source, options)

function test (rule, value, callback) {
let err
if (value === 'xxxx') {
? ?? ? err = '不符合規(guī)范'
? ? }
? ?callback(err)
}
const validateData = {
? ?complex: [
? ?? ? {
? ?? ? validator: test
? ? ? ?}
? ?]
}
const validator = new AsyncValidator(validateData)

validate

function(source, [options], callback)

  • source: 驗證的對象.
  • options: An object describing processing options for the validation (optional).
  • callback: A callback function to invoke when validation completes (required).

async-validator 支持對數(shù)據(jù)異步校驗,所以在編寫自定義校驗函數(shù)時,不管校驗是否通過,校驗函數(shù)中的 callback 都要調(diào)用。

文檔其他默認(rèn)配置:請移步 async-validator ;

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • HTML表單 在HTML中,表單是 ... 之間元素的集合,它們允許訪問者輸入文本、選擇選項、操作對象等等,然后將...
    蘭山小亭閱讀 3,507評論 2 14
  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 136,554評論 19 139
  • 22年12月更新:個人網(wǎng)站關(guān)停,如果仍舊對舊教程有興趣參考 Github 的markdown內(nèi)容[https://...
    tangyefei閱讀 35,401評論 22 257
  • Angular 支持非常強大的內(nèi)置表單驗證,maxlength、minlength、required 以及 pat...
    sunny_lvy閱讀 20,140評論 3 25
  • Spring Web MVC Spring Web MVC 是包含在 Spring 框架中的 Web 框架,建立于...
    Hsinwong閱讀 22,942評論 1 92

友情鏈接更多精彩內(nèi)容