網(wǎng)站首頁 編程語言 正文
項目場景:`
form表單驗證錯誤提示語太長無法全部展示,導致提示語折疊,如下圖:
解決方案:
最終效果:
附錄代碼:
需要返回錯誤信息的部分寫個空
callback(new Error(' '));
,用this.quotaNameErrFlag = true;
來控制v-show="quotaNameErrFlag"
展示錯誤提示,再給提示語寫個樣式
直接上熱乎的代碼:
<el-form class="quota-edit-form" ref="quotaForm" :rules="rule" :model="quotaFormData" label-width="125px" label-position="left">
<el-form-item prop="quotaName" label="配額名稱">
<el-input v-model="quotaFormData.quotaName" placeholder="請輸入" class="form-item-width" maxlength="32"></el-input>
<div v-show="quotaNameErrFlag" class="quotaname-err-style">
支持大小寫字母、數(shù)字、“-”、“.”、“/”、“(”、“)”、“(”、“)”、下劃線、中文,不超過32個字
</div>
</el-form-item>
......
在需要展示錯誤信息的輸入框下面寫個錯誤提示語句:
<div v-show="quotaNameErrFlag" class="quotaname-err-style">
支持大小寫字母、數(shù)字、“-”、“.”、“/”、“(”、“)”、“(”、“)”、下劃線、中文,不超過32個字
</div>
定義控制變量:
quotaNameErrFlag: false,
需要返回錯誤信息的部分寫個空callback(new Error(' '));
,用this.quotaNameErrFlag = true;
看控制v-show="quotaNameErrFlag"
展示錯誤提示,再給提示語寫個樣式
var validateName = (rule, value, callback) => {
if (value) {
if (value === this.quotaFormData.quotaCode) {
callback(new Error('配額名稱與配額編碼不能相同'));
}
let reg = /^[0-9A-Za-z\u4e00-\u9fa5-./_(())]{0,32}$/;
if (!reg.test(value)) {
this.quotaNameErrFlag = true;
callback(
new Error(
' '
// '支持大小寫字母、數(shù)字、“-”、“.”、“/”、“(”、“)”、“(”、“)”、下劃線、中文,不超過32個字'
)
);
} else {
this.quotaNameErrFlag = false;
}
callback();
} else {
callback(new Error('請輸入配額名稱'));
}
};
樣式:
.quotaname-err-style {
color: #f56c6c;
font-size: 12px;
width: 450px;
margin-bottom: -19px;
line-height: 18px;
}
附加代碼:
export default {
data() {
var validateName = (rule, value, callback) => {
if (value) {
if (value === this.quotaFormData.quotaCode) {
callback(new Error('配額名稱與配額編碼不能相同'));
}
let reg = /^[0-9A-Za-z\u4e00-\u9fa5-./_(())]{0,32}$/;
if (!reg.test(value)) {
this.quotaNameErrFlag = true;
callback(
new Error(
' '
// '支持大小寫字母、數(shù)字、“-”、“.”、“/”、“(”、“)”、“(”、“)”、下劃線、中文,不超過32個字'
)
);
} else {
this.quotaNameErrFlag = false;
}
callback();
} else {
callback(new Error('請輸入配額名稱'));
}
};
var validateCode = (rule, value, callback) => {
if (value) {
if (value === this.quotaFormData.quotaName) {
callback(new Error('配額編碼與配額名稱不能相同'));
}
let reg = /^[0-9A-Za-z\u4e00-\u9fa5-._]{0,32}$/;
if (!reg.test(value)) {
callback(
new Error(
'支持大小寫字母、數(shù)字、“-”、“.”、下劃線、中文,不超過32個字'
)
);
}
callback();
} else {
callback(new Error('請輸入配額編碼'));
}
};
var checkLevel = (rule, value, callback) => {
var reg = /^[0-9]{1}$/;
if (!value) {
return callback();
} else if (!reg.test(value)) {
return callback(new Error('配額級別只能為一位數(shù)字'));
} else {
return callback();
}
};
return {
rule: {
quotaName: [
{
required: true,
validator: validateName,
trigger: ['blur', 'change'],
},
],
quotaCode: [
{
required: true,
validator: validateCode,
trigger: ['blur', 'change'],
},
],
regionId: [
{ required: true, message: '請選擇節(jié)點', trigger: 'change' },
],
productCode: [
{ required: true, message: '請選擇產(chǎn)品', trigger: 'change' },
],
limitValue: [
{ required: true, message: '請輸入配額數(shù)量', trigger: 'blur' },
{ pattern: /^\d+$/, message: '配額數(shù)量為非負整數(shù)' },
],
level: [{ validator: checkLevel, trigger: 'blur' }],
},
rules: {
productCode: [
{ required: true, message: '請選擇產(chǎn)品', trigger: 'blur' },
],
},
formLabelWidth: '120px',
quotaNameErrFlag: false,
};
},
原文鏈接:https://blog.csdn.net/migexiaoliang/article/details/126235530
相關推薦
- 2023-04-18 C生萬物C語言宏將整數(shù)二進制位的奇偶數(shù)位交換_C 語言
- 2022-10-11 RabbitMQ:生產(chǎn)者消息確認、消息持久化、消費者消息確認、消費失敗重試機制
- 2022-06-17 Android性能優(yōu)化之圖片大小,尺寸壓縮綜合解決方案_Android
- 2022-01-08 iframe 監(jiān)聽滾動事件并滾動到指定位置
- 2022-03-25 在?ASP.NET?Core?中為?gRPC?服務添加全局異常處理_ASP.NET
- 2022-05-20 如何保證緩存和數(shù)據(jù)庫的一致性?
- 2022-06-06 微信小程序實現(xiàn)滾動視圖點擊錨點跳轉、點擊左側分欄時右側對應內(nèi)容置頂、左右分欄聯(lián)動、setTimeou
- 2023-07-31 el-input自動獲取焦點并選中值
- 最近更新
-
- window11 系統(tǒng)安裝 yarn
- 超詳細win安裝深度學習環(huán)境2025年最新版(
- Linux 中運行的top命令 怎么退出?
- MySQL 中decimal 的用法? 存儲小
- get 、set 、toString 方法的使
- @Resource和 @Autowired注解
- Java基礎操作-- 運算符,流程控制 Flo
- 1. Int 和Integer 的區(qū)別,Jav
- spring @retryable不生效的一種
- Spring Security之認證信息的處理
- Spring Security之認證過濾器
- Spring Security概述快速入門
- Spring Security之配置體系
- 【SpringBoot】SpringCache
- Spring Security之基于方法配置權
- redisson分布式鎖中waittime的設
- maven:解決release錯誤:Artif
- restTemplate使用總結
- Spring Security之安全異常處理
- MybatisPlus優(yōu)雅實現(xiàn)加密?
- Spring ioc容器與Bean的生命周期。
- 【探索SpringCloud】服務發(fā)現(xiàn)-Nac
- Spring Security之基于HttpR
- Redis 底層數(shù)據(jù)結構-簡單動態(tài)字符串(SD
- arthas操作spring被代理目標對象命令
- Spring中的單例模式應用詳解
- 聊聊消息隊列,發(fā)送消息的4種方式
- bootspring第三方資源配置管理
- GIT同步修改后的遠程分支