我有以下的JS(使用jQuery):JS - 在其中看到 「或」 評估真正的if語句
if ($('#username').val() === '' || $('#password').val() === '') {
return;
}
$.ajax(); //run an ajax call to the server for password verif (this would have proper ajax code).
這句話的意思是:如果用戶名(#username
)和密碼(#password
)場均空白,然後返回。
如果是這種情況,我想給用戶一條消息。例如:
if ($('#username').val() === '' || $('#password').val() === '') {
if ($('#username').val() === '' && $('#password').val() !== '') {
alert('Please enter a username');
return;
}
if ($('#username').val() !== '' && $('#password').val() === '') {
alert('Please enter a password');
return;
}
alert('Username and password fields cannot be blank');
}
但是,這是很多代碼。我正在尋找類似於XOR
/^
operator(來自SQL),但是用於JS。或者說,「好!第一個表達是真實的,第二個表達是錯誤的 - 他沒有輸入用戶名,而是輸入了密碼,讓我們告訴他輸入用戶名,或者 - 他沒有輸入輸入密碼?告訴他輸入密碼。最後 - 他沒有輸入什麼?告訴他輸入用戶名和密碼。
我知道當前的代碼我會做到這一點,但我要尋找一個更簡單,更DRY符合的代碼。
我對谷歌的研究還沒有拿出任何解決方案,因此我要求計算器。
謝謝。
您可以在(https://jqueryvalidation.org/)使用jquery驗證插件。 –
我看不到一些「優雅」的做法。你可以使用一些驗證器,但內部我懷疑它使用不同的方法。你只需要檢查每個字段,如「if($('#username')。val()==='')附加一些文本; hasErrors = true;'並使用某種標誌,例如'hasErrors',默認值爲'false',因此最後可以添加一些邏輯,比如if(hasErrors)...執行其他操作。 else'。 – Leron
'!='實際上是使用數組的異或運算符 – wvdz