我有兩個代碼。一個代碼,我檢查了用戶注冊頁面上輸入的資料(必須填寫所有文本框,密碼長度,電子郵件是否為真實電子郵件等......)。另一個代碼,它將表單中輸入的電子郵件發送到 MySQL 并回答它之前是否已注冊。單獨運行時它作業正常,但是當我嘗試組合其中兩個代碼時,我根本無法運行它。///EMAIL CHECK FROM DATABASE//我寫的代碼,////FORM VALIDATION////我想將它與我寫的帶有標題的代碼一起使用。如您所見,從第 16 行開始的電子郵件控制元件首先檢查輸入是否為空。然后它檢查輸入中輸入的值是否是真實的電子郵件格式并說 setSuccess() 并完成該程序但作為第三次驗證,
////FORM VALIDATION////
1 const isValidEmail = email => {
2 const re = /^(([^<>()[\]\\.,;:\s@"] (\.[^<>()[\]\\.,;:\s@"] )*)|(". "))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9] \.) [a-zA-Z]{2,}))$/;
3 return re.test(String(email).toLowerCase());
4 }
5
6 const validateInputs = () => {
7 const usernameValue = username.value.trim();
8 const emailValue = email.value.trim();
9 const passwordValue = password.value.trim();
10
11 if(usernameValue === '') {
12 setError(username, 'Username is required');
13 } else {
14 setSuccess(username);
15 }
16 if(emailValue === '') {
17 setError(email, 'Email is required');
18 } else if (!isValidEmail(emailValue)) {
19 setError(email, 'Provide a valid email address');
20 } else {
21 setSuccess(email);
22
23 }
24
25 if(passwordValue === '') {
26 setError(password, 'Password is required');
27 } else if (passwordValue.length < 8 ) {
28 setError(password, 'Password must be at least 8 character.')
29 } else {
30 setSuccess(password);
31 }
32 };
////FORM VALIDATION////
///EMAIL CHECK FROM DATABASE///
$(document).ready(function(){
$('#email').blur(function(){
var email = $(this).val();
$.ajax({
url:'test.php',
method:"POST",
data:{e_mail:email},
success:function(data){
if(data != '0')
{
$('#error_message').html("Sorry, the email already has been taken.");
return;
}
else{
$('#error_message').html("");
return;
}
}
})
});
});
///EMAIL CHECK FROM DATABASE///
uj5u.com熱心網友回復:
要解決您的問題,您只需要重新使用以前的代碼:因此將第 21 行替換為:
$.ajax({
url:'test.php',
method:"POST",
data:{e_mail:emailValue },
success:function(data){
if(data != '0')
{
setError(email, 'Sorry, the email already has been taken.');
}
else{
setSuccess(email);
}
}
});
但是就像我評論的那樣,在 Web 開發中,您永遠不應該在客戶端傳遞表單驗證。降低回傳到服務器的數量非常有用(因為您只將服務器準備好的資料提供給控制一次),但永遠不足以進行新的注冊/登錄。
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/396449.html
標籤:javascript php html 查询 mysql
上一篇:是否可以在二維碼中添加表單資料?
