在使用validate進(jìn)行表單驗(yàn)證時(shí)會(huì)有第一次驗(yàn)證通過(guò),但是第二次驗(yàn)證不通過(guò)時(shí),第一次驗(yàn)證通過(guò)的信息殘留在label上面的情況,最常見(jiàn)的就是√殘留
如此圖所示:
此時(shí)“請(qǐng)輸入姓名”前面應(yīng)該時(shí)×才是正常情況。如何解決這個(gè)問(wèn)題?
需要對(duì)jquery.validate.js文件進(jìn)行修改,原因如下:
一次驗(yàn)證成功但是二次驗(yàn)證失敗后,會(huì)進(jìn)入如下代碼:
showLabel: function( element, message ) { var place, group, errorID, error = this.errorsFor( element ), elementID = this.idOrName( element ), describedBy = $( element ).attr( "aria-describedby" ); if ( error.length ) { // refresh error/success class error.removeClass( this.settings.validClass ).addClass( this.settings.errorClass ); // replace message on existing label error.html( message ); } else { // create error element error = $( "<" + this.settings.errorElement + ">" ) .attr( "id", elementID + "-error" ) .addClass( this.settings.errorClass ) .html( message || "" );
其中會(huì)執(zhí)行 error.removeClass( this.settings.validClass ) 這個(gè)代碼,我們找到 validClass 后會(huì)發(fā)現(xiàn) validClass: "valid",我們一般會(huì)將驗(yàn)證成功的類(lèi)名設(shè)置為“success”,所以我們只需要將validClass: "valid"
改為validClass: "success"就可以消除這個(gè)問(wèn)題
以上就是全部知識(shí)點(diǎn)內(nèi)容,需要的朋友們可以參考下。
新聞熱點(diǎn)
疑難解答
圖片精選
網(wǎng)友關(guān)注