required、min、max、maxlength、pattern 等屬性required 可以避免送出空白資料。min 與 max 適用於 number、date 等欄位。maxlength 可以限制輸入字數。pattern 讓表單能檢查格式,例如電話號碼或郵遞區號。<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

placeholder 當提示 → ✅ 使用 label + 驗證屬性required → ✅ 必填欄位應加上 required
min/max 控制輸入合理值pattern 或 title 提示規則maxlength 限制min=18、max=99
pattern 至少 6 字元今天我練習了 HTML5 的表單驗證,發現很多以前需要 JavaScript 才能做的功能,其實 HTML 就能先處理。像 required、pattern 這些屬性,可以在送出前直接阻止錯誤資料,大大提升了使用者體驗。
我特別喜歡 pattern 搭配 title 的組合,不只限制輸入格式,還能提示使用者正確的規則,這樣就不用再額外寫提醒文字了。以前常常覺得表單很麻煩,但現在發現只要規劃得好,很多細節都能用屬性解決。
雖然這些驗證屬性能幫助前端過濾,但我也知道後端仍然要再做一次檢查,才能確保資料安全。這就像健身時不只是要有動作標準,還要有保護機制。
今天的學習讓我覺得表單不只是「輸入框的集合」,而是與使用者溝通的橋樑。