簡體   English   中英

即使未輸入任何值,也會觸發JS驗證錯誤

[英]JS validation error firing even when no value is being entered

我有3個輸入字段的問題。 第一個字段用於用戶名,其他兩個字段用於密碼驗證。 現在,密碼字段不能包含用戶名字段,因此,如果密碼字段包含用戶名的任何部分,我已編寫了顯示消息的邏輯。 但是,如果用戶名字段中沒有任何內容,那么如果在密碼字段中鍵入內容,則該驗證消息仍會觸發。

這是代碼

獲取用戶名字段的代碼:

if (document.getElementById("tUserName")) {
        uN = document.getElementById("tUserName").value;
    }
    else {
        uN = "";
    }

用戶名字段regEx:

containsUsername = new RegExp(uN);

這是負責驗證錯誤消息的代碼:

if (document.getElementByIdd("tUserName")) {
        if (containsUsername.test(value)) {
            dojo.addClass(dojo.byId('result-userName'), 'hide');  
        }
        else {
            dojo.removeClass(dojo.byId('result-userName'), 'hide');
        }
    }

我擔心我必須錯過這里的要點,所以如果我願意,請忍受...。

因此,您是否希望在用戶名字段中沒有輸入任何密碼的情況下不顯示驗證錯誤?

在嘗試通過正則表達式運行用戶名之前,是否可以僅檢查用戶名的值是否為空字符串?

if (document.getElementById("tUserName")) {
    if (document.getElementById("tUserName").value != '' && containsUsername.test(value)) {
        dojo.addClass(dojo.byId('result-userName'), 'hide');  
    }
    else {
        dojo.removeClass(dojo.byId('result-userName'), 'hide');
    }
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM