生活随笔
收集整理的這篇文章主要介紹了
                                
验证部分表单是否重复
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.                        
 
                                
                            
                            
                            1. 效果
  2. 思路及實現
 表單驗證    this.nameChangeTemp = response.data.orgName;this.codeChangeTemp = response.data.orgCode; 
    rules: {orgName: [// 設置為必傳{ required: true, message: "請輸入用戶", trigger: 'blur' },// 設置長短{ min: 2, max: 20, message: "長度在 2 到 20 個字符", trigger: 'blur' },// 通過方法進行驗證{ validator: validateIsReOrgName, trigger: 'blur' }],}...var validateIsReOrgName = (rule, value, callback) => {let obj = {orgName: value}//  如果沒有發生編輯,那么就直接返回if (value === this.nameChangeTemp) {callback();return}// 通過接口訪問后臺,然后確定通過后臺的數據,判斷是否重復isNameDuplication(obj).then((res) => {if (res.data) {callback(new Error('機構重名,請重新輸入'));}callback();})} 
更新時,對輸入框內容的處理- 更新時,如果需要驗證的內容沒有發生改變,那么就不需要傳到后臺。
 - 這兒有兩種方式可以知道內容是否發生改變:
 (1)一種是1中驗證的時候,然后驗證通過設置標志位;
 (2)通過change事件;
 這兒我們通過change事件完成 
    // 表單部分,以名稱為例<el-form-item label="名稱" prop="orgName" ref="orgName"><el-input v-model="form.orgName" placeholder="請輸入名稱" :disabled="form.orgName==='云課堂'" @change="nameChange"></el-input></el-form-item>......// 事件驅動程序   nameChange () {this.nameChangeMark = true;},codeChange () {this.codeChangeMark= true;}// 進行編輯時的請求,首先通過delete將這兩個屬性去掉,再根據標志位將對應的屬性添加進來let obj = deepClone(this.form) // 這兒對表單里面的數據進行深度賦值delete obj.orgName;delete obj.orgCode;if (this.nameChangeMark) {obj.orgName = this.form.orgName;}if (this.codeChangeMark) {obj.orgCode = this.form.orgCode;}putObj(obj).then(res => {if (!res || res.status !== 200) {this.$message.error(res.message)return}this.showValue();this.$message({message: '更新成功',type: 'success'});}); 
 
轉載于:https://www.cnblogs.com/usebtf/p/9620957.html
                            總結
                            
                                以上是生活随笔為你收集整理的验证部分表单是否重复的全部內容,希望文章能夠幫你解決所遇到的問題。
                            
                            
                                如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。