最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Vue-Ant Design Vue-普通及自定義校驗實例

 更新時間:2020年10月24日 10:07:48   作者:谷文杰  
這篇文章主要介紹了Vue-Ant Design Vue-普通及自定義校驗實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧

這段時間在使用Ant Design Vue進(jìn)行項目的前端部分開發(fā),進(jìn)行一個記錄,分享…

Ant Design Vue

Ant Design Vue是 Ant Design 3.X 的 Vue 實現(xiàn),開發(fā)和服務(wù)于企業(yè)級后臺產(chǎn)品。在GitHub上可以找到幾個Ant Design的Vue組件。不過相比較而言,Ant Design Vue更勝一籌。Ant Design Vue共享Ant Design of React設(shè)計工具體系,實現(xiàn)了所有Ant Design of React的組件,支持現(xiàn)代瀏覽器和 IE9 及以上(需要 polyfills)。可以讓熟悉Ant Design的在使用Vue時,很容易的上手。

nodejs,npm包括Ant Design Vue安裝什么的就不說了,可以百度,之后有時間我會寫一篇關(guān)于這一套東西的安裝教程,關(guān)于Ant Design Vue,可以直接查看官方文檔:https://vue.ant.design

下面說一下關(guān)于Ant Design Vue中的表單校驗及自定義校驗。

自定義校驗

先給一張Ant Design Vue得form表單中不同類型的校驗場景圖,看看是否有你需要的:

官方提供了 validateStatus, help ,hasFeedback 等屬性,你可以不需要使用 Form.create 和 getFieldDecorator,自己定義校驗的時機(jī)和內(nèi)容。

validateStatus: 校驗狀態(tài),可選 ‘success', ‘warning', ‘error', ‘validating'。

hasFeedback:用于給輸入框添加反饋圖標(biāo)。

help:設(shè)置校驗文案。

說明一點: 當(dāng)你使用Ant Design Vue的使用,經(jīng)過 Form.create 包裝的組件將會自帶 this.form 屬性

this.form 提供的 關(guān)于校驗的API如下 :

方法 說明 類型
validateFields 校驗并獲取一組輸入域的值與 Error,若 fieldNames 參數(shù)為空,則校驗全部組件 Function([fieldNames: string[]], [options: object], callback: Function(errors, values))

然后看下Form.Item的參數(shù)設(shè)置(主要看關(guān)于校驗的):

參數(shù) 說明 類型 默認(rèn)值
extra 額外的提示信息,和 help 類似,當(dāng)需要錯誤信息和提示文案同時出現(xiàn)時,可以使用這個。 string/slot
hasFeedback 配合 validateStatus 屬性使用,展示校驗狀態(tài)圖標(biāo),建議只配合 Input 組件使用。 boolean false
help 提示信息,如不設(shè)置,則會根據(jù)校驗規(guī)則自動生成 string/slot
validateStatus 校驗狀態(tài),如不設(shè)置,則會根據(jù)校驗規(guī)則自動生成,可選:‘success' ‘warning' ‘error' ‘validating' string

最后是校驗規(guī)則設(shè)置:

相關(guān)的api及參數(shù)設(shè)置介紹完樂,下面上實例

實例

寫一個簡單的例子

form表單代碼:

<a-form style="max-width: 500px; margin: 40px auto 0;" @submit="handleSubmit" :form="form">
<a-form-item
label="密碼"
:labelCol="{span: 5}"
:wrapperCol="{span: 19}"
class="stepFormText"
hasFeedback
>
<a-input
v-decorator="[
'password',
{rules: [{ required: true, message: '請輸入密碼' },{validator: handlePass}]}
]"
name="password"
/>
</a-form-item>
<a-form-item
label="確認(rèn)密碼"
:labelCol="{span: 5}"
:wrapperCol="{span: 19}"
class="stepFormText"
hasFeedback
>
<a-input
v-decorator="[
'confirm_password',
{rules: [{ required: true, message: '請輸入確認(rèn)密碼' },{validator: handleConfirmPass}]}
]"
name="confirm_password"
/>
</a-form-item>
<a-form-item :wrapperCol="{span: 19, offset: 5}">
<a-button :loading="loading" type="primary" htmlType="submit">提交</a-button>
</a-form-item>
</a-form>

進(jìn)行一下說明,以確認(rèn)密碼的校驗為例:

<a-input
     v-decorator="[
     'confirm_password',
     {rules: [{ required: true, message: '請輸入確認(rèn)密碼' },{validator: handleConfirmPass}]}
    ]"
     name="confirm_password"
   />

rules中為一個數(shù)組,每一項就是一個校驗規(guī)則,第一項規(guī)則容易理解,但是{validator: handleConfirmPass}是什么的,我們通過上面的校驗規(guī)則設(shè)置(紅框處)可以發(fā)現(xiàn),這是當(dāng)你設(shè)置自定義校驗的時候需要這么寫。注意:callback 必須被調(diào)用。

handleConfirmPass 其實就是自定義校驗的校驗方法。

上js代碼:

<script>
export default {
 data () {
  return {
   labelCol: {
    xs: { span: 24 },
    sm: { span: 7 }
   },
   wrapperCol: {
    xs: { span: 24 },
    sm: { span: 13 }
   },
   password: '',
   // form
   form: this.$form.createForm(this)
  }
 },
 methods: {
  handlePass(rule,value,callback){
   this.password = value
   callback()
  },
  handleConfirmPass(rule,value, callback){
   if (this.password && this.password !== value) {
    callback('兩次密碼輸入不一致!')
   }
   // Note: 必須總是返回一個 callback,否則 validateFieldsAndScroll 無法響應(yīng)
   callback()
  },
  handleSubmit (e) {
   e.preventDefault()
   this.form.validateFields((err, values) => {
    if (!err) {
     console.log(values)
    }
   })

  }
 }
}
</script>

效果圖如下:

1.空值提交

2.自定義校驗規(guī)則生效

好了,這就是關(guān)于Ant Design Vue的普通及自定義校驗的簡單使用。

補充知識:關(guān)于 Ant Design of Vue 表單動態(tài)賦值 觸發(fā)驗證 問題

關(guān)于 Ant Design of Vue 表單動態(tài)賦值 觸發(fā)驗證

Ant Design of Vue 中 給表單動態(tài)賦值 使用 setFieldsValue 方法 這一點 之前已經(jīng)介紹過了 ,不了解的可以查找我之前的博客 上面有詳細(xì)的介紹使用方法

但使用 該方法可能會出現(xiàn) 一個問題 例如本人使用的下拉框觸發(fā) change 事件的時候 給表單 動態(tài)賦值

這個時候遇到一個問題 就是 觸發(fā)的同時也觸發(fā)了表單驗證 解決的方法是 在setFieldsValue 方法的外面

加上 this.$nextTick(() => {}) 方法 如圖所示

輕松解決 問題 。

以上這篇Vue-Ant Design Vue-普通及自定義校驗實例就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • Vue封裝svg-icon組件使用教程

    Vue封裝svg-icon組件使用教程

    SVG(Scalable?Vector?Graphics)可縮放矢量圖形,是一種用于描述基于二維的矢量圖形的?XML?標(biāo)記語言,其基本矢量顯示對象包括矩形、圓、橢圓、多邊形、直線、任意曲線等,還能顯示文字對象和嵌入式外部圖像
    2023-02-02
  • uni-app開發(fā)小程序的完整流程記錄

    uni-app開發(fā)小程序的完整流程記錄

    本文詳細(xì)介紹了使用uni-app進(jìn)行項目開發(fā)的全過程,包括uni-app框架的介紹、開發(fā)工具HBuilderX的下載安裝與配置、項目開發(fā)中的網(wǎng)絡(luò)請求配置、小程序分包加載、自定義組件使用、組件使用技巧等,還提及了解決開發(fā)中遇到的一些問題,需要的朋友可以參考下
    2024-11-11
  • vue倒計時刷新頁面不會從頭開始的解決方法

    vue倒計時刷新頁面不會從頭開始的解決方法

    在本篇文章里小編給大家整理的是關(guān)于vue倒計時刷新頁面不會從頭開始的解決方法,需要的朋友們參考下。
    2020-03-03
  • vue之bus總線簡單使用講解

    vue之bus總線簡單使用講解

    這篇文章主要介紹了vue之bus總線簡單使用講解,本篇文章通過簡要的案例,講解了該項技術(shù)的了解與使用,以下就是詳細(xì)內(nèi)容,需要的朋友可以參考下
    2021-09-09
  • Vue獲取頁面元素的相對位置的方法示例

    Vue獲取頁面元素的相對位置的方法示例

    這篇文章主要介紹了Vue獲取頁面元素的相對位置的方法示例,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-02-02
  • Vue.js每天必學(xué)之指令系統(tǒng)與自定義指令

    Vue.js每天必學(xué)之指令系統(tǒng)與自定義指令

    Vue.js每天必學(xué)之指令系統(tǒng)與自定義指令,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2016-09-09
  • vue可拖拽的瀑布流布局組件實現(xiàn)詳解

    vue可拖拽的瀑布流布局組件實現(xiàn)詳解

    這篇文章主要為大家介紹了vue的可拖拽的瀑布流布局組件有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-06-06
  • Vue自定義el-table表格表頭高度的多種實現(xiàn)方法

    Vue自定義el-table表格表頭高度的多種實現(xiàn)方法

    在Vue項目中,使用Element?UI的el-table組件可以輕松創(chuàng)建功能豐富的表格,然而,默認(rèn)情況下,el-table的表頭高度是固定的,本文將詳細(xì)介紹如何自定義el-table表頭的高度,提供多種實現(xiàn)方法,需要的朋友可以參考下
    2024-10-10
  • Vue項目中打包優(yōu)化的四種方法詳解

    Vue項目中打包優(yōu)化的四種方法詳解

    最近入職了新公司,接手了一個新拆分出來的Vue項目,針對該項目做了個打包優(yōu)化,下面這篇文章主要給大家介紹了關(guān)于Vue項目中打包優(yōu)化的四種方法,文中通過實例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2022-07-07
  • buildAdmin開源項目引入四種圖標(biāo)方式詳解

    buildAdmin開源項目引入四種圖標(biāo)方式詳解

    這篇文章主要為大家介紹了buildAdmin開源項目引入四種圖標(biāo)方式詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-02-02

最新評論

新丰县| 宣武区| 黄梅县| 板桥市| 颍上县| 荔波县| 蓝田县| 安远县| 文安县| 甘德县| 正阳县| 仙居县| 西昌市| 陇西县| 邓州市| 晋江市| 洱源县| 大余县| 岳池县| 高密市| 平原县| 峨边| 合阳县| 岫岩| 抚松县| 凤城市| 辉南县| 镇安县| 张家界市| 固镇县| 桐城市| 萨迦县| 福清市| 海城市| 中方县| 卫辉市| 芜湖县| 武威市| 兴宁市| 灌云县| 浮山县|