日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

html注释绕过,关于javascript:提交时绕过HTML的“ required”属性

發布時間:2025/3/12 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 html注释绕过,关于javascript:提交时绕过HTML的“ required”属性 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

本問題已經有最佳答案,請猛點這里訪問。

提交表單之前,我將required用于第一次檢查。

Foo:

問題是,我有一個"忽略"按鈕,它也提交表單,然后后端邏輯在數據庫中設置正確的狀態。 在這種情況下(忽略),不需要驗證(因為不需要填寫字段" Foo")。

處理這兩種情況的最佳方法是什么?

我知道我可以放棄"必需"而在其他地方(后端/ JavaScript)進行驗證。 我正在尋找一種保持"必需"的方法。

我可以在忽略按鈕方案中使用一些Js onclick并在發送表單之前刪除屬性(https://stackoverflow.com/a/13951500/356726)。

但是實際上我正在尋找更智能的東西。

-編輯-

是的,必填屬性HTML5的重復項

#2可能是最好的選擇。 如果使用忽略提交而不是提交提交,則驗證服務器端完全或完全不使用必需屬性,而是繞過驗證。

#2對我也很有意義。

是的,我錯過了以上

無需JavaScript,不需要第二種形式,驗證可以保留:

正是在這種用例中,HTML5規范為提交元素(如)設計了formnovalidate屬性,作為表單提交的屬性之一:

The formnovalidate attribute can be used to make submit buttons that do not trigger the constraint validation.

所以簡單地說

Foo:

您的#2是常見的方法。就像是:

$('input[value="ignore"]').click(function() {

$(this).siblings('input[type="text"]').removeAttr('required');

});

可能必須使用mousedown擊敗提交。

如果要使用JavaScript,則最好執行.prop("required", false)

您應該基于以下理由使用方法#1:使用required代替JavaScript驗證的主要原因是它更簡單并且即使禁用了JavaScript也可以使用。這里的簡單性不適用,因為使用required使事情變得更加困難。后一個原因也不適用:禁用JavaScript且瀏覽器支持required時,除非在文本字段中輸入了一些數據,否則"忽略"按鈕將不起作用。

另一種替代方法是@MattKenefick的答案中提到的替代方法。它甚至可能導致更簡單的結構和邏輯。如果表單確實像示例中一樣簡單,則將其拆分為兩種形式很簡單:

Foo:

這并不意味著"在所有情況下都需要該字段"。 它確實意味著"驗證表單時必填字段"-可能不是,請參閱我的答案。

@Bergi,對,我已刪除了該段。

如果您不想使用Javascript,則可以使它們成為單獨的形式,并為ignore形式將所有輸入設置為隱藏。

不是最好的選擇,但這是一個替代選擇。

總結

以上是生活随笔為你收集整理的html注释绕过,关于javascript:提交时绕过HTML的“ required”属性的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。