前景: 是測試測出來的問題,之前的一個業(yè)務(wù)中輸入文章的標(biāo)題,按照往常的判別的情況進(jìn)行了簡單處理,后來發(fā)現(xiàn)存在這個bug。
以往:這種簡單的判別是否輸入,我自己是習(xí)慣用if,錯誤優(yōu)先原則,如果為true,則彈出提醒需要輸入'XXX',但是這回發(fā)現(xiàn)這里是有漏洞的,對于輸入回車(空格),這種情況下的判斷是輸入內(nèi)容的,這里要處理一下這種情形,畢竟也是不可以為空格的,展示上還是空
/* 一旦輸入中包含空格就會報(bào)錯,不可行 */
// if(this.program.length>0 &&this.program!='') {
//this.$message.error('分賬方案不能為空格');
// }
// if(this.program != this.program.replace(/(^\s*)|(\s*$)/g,"")) {
//this.$message.error('分賬方案不能為空格');
// }
// if(this.program.indexOf(" ") >= 0) {
//this.$message.error('分賬方案不能為空格');
// }
以上幾個方法,都是可以識別出來空格,但是我暫時沒辦法區(qū)分開既有空格和正常的內(nèi)容同時輸入的情況,也就是用上面的方法正常輸入內(nèi)容再輸入空格也會彈出提示,我覺得這種不需要提示了。
我最后先用了vue的表單修飾符,.trim過濾前后空格。暫時在開發(fā)時候可以,到時候發(fā)到測試環(huán)境應(yīng)該還會有問題,先暫時這么處理,具體到時候再找更好的方法了。
<el-input v-model.trim="program" placeholder="請?zhí)顚? style="width:200px"></el-input>
--------找了新的方法分隔線 ------
看到??這篇文章,參考了下,對于我的現(xiàn)有開發(fā)業(yè)務(wù),我認(rèn)為是可行的
JS判斷輸入框值是否為空
this.program = this.program.replace(/(^\s*)|(\s*$)/g, ''); //去除空格;
console.log('此刻的方案:',this.program)
if (this.program == '' || this.program == undefined || this.program == null) {
this.$message.error('不能輸入為空、空格');
}
ok已經(jīng)替代了我之前的簡單判空的方法:
// if(!this.program) {
//this.$message.error('請?zhí)顚懛桨该Q');
// };