inputrequired:不可或缺的表單驗證屬性

表單在Web應用中扮演着重要的角色,而表單驗證則是保證表單提交數據的有效性和正確性的重要環節。HTML5中的元素中並沒有提供表單驗證的功能,但是卻引入了屬性,其中最重要的就是,該屬性能夠保證用戶在提交表單前必須輸入值。

一、inputrequired IBM

IBM是一個全球技術和創新公司,提供各種各樣的IT解決方案,涉及到的範圍很廣,其中包括表單驗證。inputrequired是IBM應用於表單驗證的一個功能豐富的屬性。inputrequired屬性提供了各種各樣的驗證規則,可以適應不同類型的表單。

接下來是一些常用的inputrequired IBM驗證規則:

<label>用戶名:</label>
<input type="text" name="username" required="required"
       data-validation-regexp="^.{5,}$"
       data-validation-error-msg="請輸入至少5個字符的用戶名">

1. data-validation-regexp

該屬性可以定義一個正則表達式,驗證用戶提供的數據是否匹配該表達式。在上面的例子中,該屬性驗證了用戶名必須至少有5個字符。

2. data-validation-pattern

與data-validation-regexp相似,但是該屬性值必須包含正則表達式模式。

3. data-validation-min/max

這兩個屬性可以定義輸入值的最小和最大值,在HTML5中,它們只適用於數字類型的輸入。例如:

<label>年齡:</label>
<input type="text" name="age" required="required"
       data-validation-min="0"
       data-validation-max="120"
       data-validation-error-msg="請輸入正確的年齡">

4. data-validation-length

該屬性可以定義輸入值的長度,例如你可以限制用戶必須輸入10個字符的地址信息:

<label>地址:</label>
<input type="text" name="address" required="required"
       data-validation-length="10"
       data-validation-error-msg="請輸入10個字符的地址">

二、inputrequired屬性的基本使用

一個表單驗證的基本例子:

<form method="post">
    <label>用戶名:</label>
    <input type="text" name="username" required="required">
    <br/><br/>
 
    <label>密碼:</label>
    <input type="password" name="password" required="required">
    <br/><br/>
 
    <input type="submit" value="提交">
</form>

在表單中,只需要簡單地使用即可。

你還可以使用JavaScript來驗證表單。例如:

var form = document.getElementsByTagName('form')[0];
form.addEventListener('submit', function(event) {
  if (!form.checkValidity()) {
    alert("請填寫必填項.");
    event.preventDefault();
  }
}, false);

這段代碼將在提交表單之前檢查其有效性。如果表單無效,則阻止表單提交並顯示警告信息。

三、inputrequired屬性的小技巧

1. 修改默認驗證信息

HTML5默認驗證信息是在用戶輸入無效數據的時候顯示的。你可以使用data-validation-error-msg屬性來修改默認提示信息。例如:

<label>日期:</label>
<input type="text" name="date" required="required"
       data-validation-error-msg="請提供一個有效的日期">

2. 自定義驗證

你可以使用JavaScript來編寫自定義表單驗證邏輯。首先,你需要定義一個驗證函數,然後將其附加到表單屬性的data-validation-function屬性:

<script>

function validateEmail(input) {
  var emailRegExp = /[a-z0-9._%+-]+@[a-z0-9.-]+\.[a-z]{2,}$/i;
  if(input.value.length == 0){
    input.setCustomValidity("請填寫郵箱地址.");
  } else if(!emailRegExp.test(input.value)){
    input.setCustomValidity("郵箱地址無效.");
  } else {
    input.setCustomValidity('');
  }
}

</script>

<label>郵箱:</label>
<input type="email" name="email" required="required"
       data-validation-function="validateEmail">

在這個例子中,我們定義了一個validateEmail函數,該函數使用正則表達式驗證電子郵件地址。如果輸入無效,該函數將在輸入元素上設置「自定義有效性」,將其值為自定義消息。

四、結論

inputrequired是保障表單數據有效性的必要屬性,它提供了多種驗證規則和自定義方式,可以方便地滿足各種表單需求。我們在使用表單時一定要充分使用和了解這個重要的屬性。

原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/194347.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2024-12-02 14:38
下一篇 2024-12-02 14:38

相關推薦

  • Vant ContactList 增加屬性的實現方法

    在使用前端UI框架Vant中的ContactList組件時,我們有時需要為此組件增加一些個性化的屬性,來滿足我們特定的需求。那麼,如何實現ContactList組件的增加屬性功能呢…

    編程 2025-04-29
  • 全面解讀數據屬性r/w

    數據屬性r/w是指數據屬性的可讀/可寫性,它在程序設計中扮演着非常重要的角色。下面我們從多個方面對數據屬性r/w進行詳細的闡述。 一、r/w的概念 數據屬性r/w即指數據屬性的可讀…

    編程 2025-04-29
  • 使用PHP foreach遍歷有相同屬性的值

    本篇文章將介紹如何使用PHP foreach遍歷具有相同屬性的值,並給出相應的代碼示例。 一、基礎概念 在講解如何使用PHP foreach遍歷有相同屬性的值之前,我們需要先了解幾…

    編程 2025-04-28
  • Java表單提交方式

    Java表單提交有兩種方式,分別是get和post。下面我們將從以下幾個方面詳細闡述這兩種方式。 一、get方式 1、什麼是get方式 在get方式下,表單的數據會以查詢字符串的形…

    編程 2025-04-27
  • PowerDesigner批量修改屬性

    本文將教您如何使用PowerDesigner批量修改實體、關係等對象屬性。 一、選擇要修改的對象 首先需要打開PowerDesigner,並選擇要修改屬性的對象。可以通過以下兩種方…

    編程 2025-04-27
  • 子類 builder() 沒有父類的屬性

    本文將從以下幾個方面對子類 builder() 缺少父類屬性進行詳細闡述: 一、Subclassing with the Builder Pattern 在實現 builder 模…

    編程 2025-04-27
  • Python中的delattr:一個多功能的屬性刪除方法

    在Python編程中,delattr()是一個十分強大常用的函數,可以方便的刪除一個對象的屬性,並且使用起來非常靈活。接下來將從多個方面詳細闡述Python中的delattr()方…

    編程 2025-04-27
  • JavaScript中修改style屬性的方法和技巧

    一、基本概念和方法 style屬性是JavaScript中一個非常重要的屬性,它可以用來控制HTML元素的樣式,包括顏色、大小、字體等等。這裡介紹一些常用的方法: 1、通過Java…

    編程 2025-04-25
  • HTMLButton屬性及其詳細闡述

    一、button屬性介紹 button屬性是HTML5新增的屬性,表示指定文本框擁有可供點擊的按鈕。該屬性包括以下幾個取值: 按鈕文本 提交 重置 其中,type屬性表示按鈕類型,…

    編程 2025-04-25
  • 全方位解析fomer——無需編寫HTML表單的前端庫

    一、什麼是fomer? fomer是一個基於React的前端庫,可以方便地創建表單。使用它,你不需要編寫HTML表單,只需要使用JavaScript以及一些CSS類名即可創建美麗的…

    編程 2025-04-25

發表回復

登錄後才能評論