iT邦幫忙

2023 iThome 鐵人賽

DAY 11
0

咒語:
幫我加上驗證邏輯 第一個要Email驗證 第二個英文混大小寫
在畫面中提示

<Box sx={{ mt: 2 }}>
          <TextField
            required
            fullWidth
            id="email"
            label="Email"
            name="email"
            autoComplete="email"
            value={email}
            onChange={(e) => setEmail(e.target.value)}
            error={!isValidEmail(email) && email.length > 0}
            helperText={isValidEmail(email) ? "" : "请输入有效的 Email 地址"}
          />
        </Box>
        <Box sx={{ mt: 2 }}>
          <TextField
            required
            fullWidth
            name="password"
            label="密碼"
            type="password"
            id="password"
            autoComplete="current-password"
            value={password}
            onChange={(e) => setPassword(e.target.value)}
            error={!isValidPassword(password) && password.length > 0}
            helperText={
              isValidPassword(password) && password.length > 0
                ? "密码必须包含大小写字母和数字,并且至少 8 个字符"
                : ""
            }
          />
        </Box>

這邊會發現 他沒給驗證邏輯
把錯誤提示告訴他
咒語: isValidEmail is not defined

 function isValidEmail(email) {
    // 使用正则表达式验证邮箱格式
    const emailPattern = /^[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,4}$/;
    return emailPattern.test(email);
  }

  // 验证密码是否有效
  function isValidPassword(password) {
    // 密码必须包含大小写字母和数字,并且至少 8 个字符
    const passwordPattern = /^(?=.*[a-z])(?=.*[A-Z])(?=.*\d).{8,}$/;
    return passwordPattern.test(password);
  }

這裡就把輸入驗證完成了


上一篇
[Day10] 註冊事件 更新sever
下一篇
[Day12] 會員頁面 修改密碼
系列文
I have an AI ,I have a React, Ugh ,AI -React 30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言