項目場景:
1、uniapp 微信小程序使用了uView UI,表單字段有驗證;
2、表單添加功能,數(shù)據(jù)校驗正常,因為表單數(shù)據(jù)本身都是空的;
3、表單更新數(shù)據(jù)的時候,有些字段明明是有數(shù)據(jù)的,提交的時候非空驗證提示不能為空;
問題描述
表單更新,此時表單是有數(shù)據(jù)的,未再次改變表單校驗的選擇器的值,點擊提交表單,校驗提醒未選擇
原因分析:
官方文檔說明的注意事項:
1、rules中的屬性名和form的屬性名是一致的,同時傳遞給u-form-item的prop參數(shù)綁定的也是相同的屬性名,注意這里prop參數(shù)綁定的是字符串(屬性名),而不是一個變量。
2、使用校驗
// 必須要在onReady生命周期,因為onLoad生命周期組件可能尚未創(chuàng)建完畢
onReady() {
this.$refs.uForm.setRules(this.rules);
}
PS:我遇到的問題,上面的注意事項都沒有問題,但是表單更新的時候,字段(數(shù)值類型)明明有值就是提示不能為空。文章來源:http://www.zghlxwxcb.cn/news/detail-559259.html
解決方案:
rules中添加了transform,把內(nèi)容轉成了String。文章來源地址http://www.zghlxwxcb.cn/news/detail-559259.html
province: [{
required: true,
message: '請選擇位置',
trigger: ['blur', 'change']
}],
status: [{
required: true,
message: '請選擇狀態(tài)',
// 更新已有數(shù)據(jù),在當前數(shù)據(jù)項沒有再次改變的情況下,校驗顯示未選擇,加上下面三行就好了
transform(value) {
return String(value);
},
trigger: ['blur', 'change']
}],
到了這里,關于uniapp 報錯之 uView UI 表單校驗 相關字段有數(shù)據(jù)有值的情況下非空驗證失敗問題的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網(wǎng)!