* [CODE(HTMLa)@en[required]] 属性 (HTML)
[1] [[HTML]] の[[フォーム制御子]]の
[DFN[[CODE(HTMLa)@en[required]] [[属性]]]]は、
[[フォーム]]を[[提出]]する前に[[値]]がその[[フォーム制御子]]に入力されなければならないことを示します。
[2]
:状態:[[WHATWG]] [[WD]]
:[[要素型]]:[[フォーム制御子]]
:[[属性名]]:[CODE(HTMLa)@en[[[required]]]]
:[[属性値]]:([[ブール型属性]] >>12)
:[[既定値]]:([[偽]] >>12)
[3]
仕様書:
- [[Web Forms 2.0]]
-- [CSECTION@en[2.7. The [CODE(HTMLa)@en[[[required]]]] attribute]]
-- [CSECTION@en[2.15. Extensions to file upload controls]]
--
** 属性値
[12]
@@
** 提出
[4]
[[利用者]]は、[[フォーム]]を[[提出]]する前に、
[CODE(HTMLa)@en[[[required]]]] とされた[[フォーム制御子]]に値を入力[['''しなければなりません''']]。
[SRC@en[WF2 2.7]]
[5]
[CODE(HTMLa)@en[[[required]]]] [[属性]]は、
次の条件に1つも該当''しない''[[フォーム制御子]]に適用されます
[SRC@en[WF2 2.7]]。
- [CODE(HTML)@en[[[hidden]]]]
- [CODE(HTML)@en[[[image]]]]
- [[ボタン]] ([CODE(HTML)@en[[[submit]]]],
[CODE(HTML)@en[[[move-up]]]] など)
- [CODE(HTMLe)@en[[[select]]]]
- [CODE(HTMLe)@en[[[output]]]]
- [CODE(HTMLa)@en[[[disabled]]]]
- [CODE(HTMLa)@en[[[readonly]]]]
[6]
[CODE(HTMLa)@en[[[required]]]] で、
値を持たない[[フォーム制御子]]には、
[[旗]] [CODE(DOM)@en[[[valueMissing]]]] が使われます。
[SRC@en[WF2 2.7]]
[7]
[CODE(HTML)@en[[[checkbox]]]] では、
その[[フォーム]]中の同じ [CODE(HTMLa)@en[[[name]]]] の1つ以上の
[CODE(HTML)@en[[[checkbox]]]]
が[[チェック]]されていなければならないことを表します。
[SRC@en[WF2 2.7]]
[8]
[CODE(HTML)@en[[[radio]]]] では、
その[[ラジオ群]]内の丁度1つが[[チェック]]されていなければならないことを表します。
[SRC@en[WF2 2.7]]
[9]
[CODE(HTML)@en[[[file]]]] では、
([CODE(HTMLa)@en[[[min]]]] や [CODE(HTMLa)@en[[[max]]]]
にかかわらず)
最低1つの[[妥当]]な
([[提出]]時に実際に[[うp]]され得る)
[[ファイル]]が選択されていなければならないことを表します。
[SRC@en[WF2 2.7, 2.15]]
[10]
それ以外の種類の[[フォーム制御子]]では、
[WEAK[[[空白]]も含め]]何らかの値が与えられていなければならないことを表します。
[SRC@en[WF2 2.7]]
[[#comment]]
** 歴史
[13] この[[属性]]は [[Web Forms 2.0]]
で導入されました。
[[#comment]]
** 例
[11]
[PRE(HTML example code)[
]PRE]
この例では、[[利用者]]は名前を入力しなければなりませんが、
注釈は空でも構いません。[[利用者エージェント]]は、
名前が入力されるまでは[[提出]]を認めてはいけません。
[SRC@en[WF2 2.7]]
[[#comment]]
** メモ
[14]
[CITE[A List Apart: Articles: Validating a Custom DTD]] ([CODE[2007-08-17 23:05:01 +09:00]] 版)
([[名無しさん]])
[15]
[CITE@en['''['''WF2''']''' backwards compatibility with values of custom required attributes]] ([[Hallvord R. M. Steen]] 著, [CODE[2008-01-16 22:04:01 +09:00]] 版)
[16] [CITE['''['''whatwg''']''' Form validation against invisible controls]]
([TIME[2010-06-14 23:46:28 +09:00]] 版)
[17] [CITE['''['''whatwg''']''' Form validation against invisible controls]]
([TIME[2010-06-14 23:46:39 +09:00]] 版)
[18] [CITE['''['''whatwg''']''' Form validation against invisible controls]]
([TIME[2010-08-05 08:43:01 +09:00]] 版)
[19] [CITE@en[HTML5 Revision Tracker]]
([TIME[2010-08-12 07:41:23 +09:00]] 版)
[20] [CITE['''['''whatwg''']''' Constraint validation feedback (various threads)]]
([TIME[2010-08-12 07:41:12 +09:00]] 版)
[21] [CITE['''['''whatwg''']''' Constraint validation feedback (various threads)]]
([TIME[2010-11-21 07:06:58 +09:00]] 版)
[22] [CITE[IRC logs: freenode / #whatwg / 20110505]]
( ([TIME[2011-05-07 13:59:30 +09:00]] 版))
[23] [CITE[''''''[''''''whatwg'''''']'''''' Make radio button group suffering from being missing]]
( ([TIME[2011-06-10 00:10:29 +09:00]] 版))
* [CODE(CSS)@en[:required]] 擬似クラス、[CODE(CSS)@en[:optional]] 擬似クラス
** 意味
*** XForms
[REFS[
- [24] [CITE@EN[XForms 1.1]] ([TIME[2010-08-13 07:45:33 +09:00]] 版)
]REFS]
[25] [[XForms]] では [CODE(CSS)@en[[[:required]]]] と [CODE(CSS)@en[[[:optional]]]]
はそれぞれ [CODE(XML)@en[[[required]]]] [[モデル項目特性]]が[[真]]と[[偽]]に評価される[[節点]]に[[束縛]]された[[フォーム制御子]]を表します。
** 歴史
*** CSS UI
[REFS[
- [26] [CITE@en[CSS3 module: Basic User Interface]] ([[Tantek Çelik]] 著, [TIME[2002-08-03 07:13:43 +09:00]] 版)
- [30] [CITE[XForms and Styling]] ([TIME[2002-08-21 23:00:56 +09:00]] 版)
- [32] [CITE[XForms and Styling]] ([TIME[2002-11-07 01:02:54 +09:00]] 版)
- [28] [CITE@en[CSS Basic User Interface Module Level 3 (CSS3 UI)]] ([[Tantek Çelik]] 著, [TIME[2011-09-29 17:32:08 +09:00]] 版)
- [27] [CITE@EN[XForms 1.1]] ([TIME[2010-08-13 07:45:33 +09:00]] 版)
]REFS]
[29] [[XForms]] での利用を想定して >>26 で追加されました。
[31] >>30 では [DFN[[CODE(CSS)@en[[[::forms-required]]]]]], [DFN[[CODE(CSS)@en[[[::forms-optional]]]]]]
という名前になっていました。
>>32 以降では [[CSS]] と同じ名前になっています。
[33] [CITE@en-GB-hixie[Web Controls 1.0]]
( ([TIME[2004-11-09 08:49:52 +09:00]] 版))