iT邦幫忙

2025 iThome 鐵人賽

DAY 11
0
Modern Web

程式煉金術:Bug退散!前端驅魔記系列 第 11

Day 11 - 表單驗證與使用者體驗

  • 分享至 

  • xImage
  •  

學習目標

  • 了解 HTML5 提供的表單驗證屬性
  • 熟悉 requiredminmaxmaxlengthpattern 等屬性
  • 學會為輸入框加上提示文字與限制條件
  • 嘗試做一個「註冊帳號」的表單驗證練習

重點觀念(表單也能自己檢查)

  • 必填欄位required 可以避免送出空白資料。
  • 數值範圍minmax 適用於 numberdate 等欄位。
  • 長度限制maxlength 可以限制輸入字數。
  • 正則表達式pattern 讓表單能檢查格式,例如電話號碼或郵遞區號。
  • placeholder ≠ 驗證:它只是提示,不會限制輸入。

表單驗證示範

<body>
  <h1>註冊帳號</h1>
  <form action="/signup" method="post">
    <label for="username">使用者名稱:</label>
    <input type="text" id="username" name="username" required maxlength="12" placeholder="最多 12 字"><br><br>

    <label for="age">年齡:</label>
    <input type="number" id="age" name="age" min="18" max="99" required><br><br>

    <label for="email">電子郵件:</label>
    <input type="email" id="email" name="email" require

image

常見錯誤與修正

  • ❌ 只靠 placeholder 當提示 → ✅ 使用 label + 驗證屬性
  • ❌ 忘記設定 required → ✅ 必填欄位應加上 required
  • ❌ 沒有範圍限制 → ✅ 使用 min/max 控制輸入合理值
  • ❌ 密碼格式隨意 → ✅ 使用 patterntitle 提示規則

今日小挑戰(可交付)

  • [ ] 建立一個帳號註冊表單,包含使用者名稱、年齡、Email、密碼
  • [ ] 為「名稱」設置 maxlength 限制
  • [ ] 為「年齡」設定 min=18max=99
  • [ ] 為「密碼」設定 pattern 至少 6 字元
  • [ ] 嘗試輸入不合法資料,觀察瀏覽器的錯誤提示

DAY11 心得

今天我練習了 HTML5 的表單驗證,發現很多以前需要 JavaScript 才能做的功能,其實 HTML 就能先處理。像 requiredpattern 這些屬性,可以在送出前直接阻止錯誤資料,大大提升了使用者體驗。

我特別喜歡 pattern 搭配 title 的組合,不只限制輸入格式,還能提示使用者正確的規則,這樣就不用再額外寫提醒文字了。以前常常覺得表單很麻煩,但現在發現只要規劃得好,很多細節都能用屬性解決。

雖然這些驗證屬性能幫助前端過濾,但我也知道後端仍然要再做一次檢查,才能確保資料安全。這就像健身時不只是要有動作標準,還要有保護機制。

今天的學習讓我覺得表單不只是「輸入框的集合」,而是與使用者溝通的橋樑。


上一篇
Day 10 - 表單進階魔法
下一篇
Day 12 - 多媒體元素的魔法
系列文
程式煉金術:Bug退散!前端驅魔記14
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言