1. ホーム
  2. Web制作
  3. html5

html5フォームにおけるrequired属性の使用について

2022-01-21 15:15:47

説明

今日、フォームに空でない機能があることを知り、調べたところ、required属性はHTML5の新属性であることが判明しました

定義と使用方法

必須属性はブール値属性です
required属性は、投稿前に入力フィールドが埋められなければならないことを指定します。
この属性が使用されている場合、フィールドは必須(または必須)である。
注:必須属性は、次のタイプに適用されます:テキスト、検索、URL、電話、電子メール、パスワード、日付ピッカー、数字、チェックボックス、ラジオ、ファイル。

この構文では

import numpy as np
import sklearn.cross_decomposition
pls2 = sklearn.cross_decomposition.PLSRegression()
xx = np.random.random((5,5))
yy = np.zeros((5,5) )
yy[0,:] = [0,1,0,0,0]
yy[1,:] = [0,0,0,1,0]
yy[2,:] = [0,0,0,0,1]
#yy[3,:] = [1,0,0,0,0] # Durch das Freigeben dieser Zeile wird das Problem gelöst
pls2.fit(xx, yy)

C:\Anaconda\lib\site-packages\sklearn\cross_decomposition\pls_.py:44: RuntimeWarning: invalid value encountered in divide
x_weights = np.dot(X.T, y_score) / np.dot(y_score.T, y_score)
C:\Anaconda\lib\site-packages\sklearn\cross_decomposition\pls_.py:64: RuntimeWarning: ungültiger Wert in less gefunden
if np.dot(x_weights_diff.T, x_weights_diff) < tol oder Y.shape[1] == 1:
C:\Anaconda\lib\site-packages\sklearn\cross_decomposition\pls_.py:67: UserWarning: Maximale Anzahl von Iterationen erreicht
warnings.warn('Maximale Anzahl von Iterationen erreicht')
C:\Anaconda\lib\site-packages\sklearn\cross_decomposition\pls_.py:297: RuntimeWarning: ungültiger Wert in less gefunden
if np.dot(x_scores.T, x_scores) < np.finfo(np.double).eps:
C:\Anaconda\lib\site-packages\sklearn\cross_decomposition\pls_.py:275: RuntimeWarning: ungültiger Wert in less gefunden
if np.all(np.dot(Yk.T, Yk) < np.finfo(np.double).eps):
Traceback (most recent call last):
Datei "C:\svn\hw4\code\test_plsr2.py", Zeile 8, in
pls2.fit(xx, yy)
Datei "C:\Anaconda\lib\site-packages\sklearn\cross_decomposition\pls_.py", Zeile 335, in fit
linalg.pinv(np.dot(self.x_loadings_.T, self.x_weights_)))
Datei "C:\Anaconda\lib\site-packages\scipy\linalg\basic.py", Zeile 889, in pinv
a = _asarray_validated(a, check_finite=check_finite)
Datei "C:\Anaconda\lib\site-packages\scipy\_lib\_util.py", Zeile 135, in _asarray_validated
a = np.asarray_chkfinite(a)
Datei "C:\Anaconda\lib\site-packages\numpy\lib\function_base.py", Zeile 613, in asarray_chkfinite
"array darf keine Infs oder NaNs enthalten")
ValueError: array darf keine infs oder NaNs enthalten


1:required と required="required" は、前者が省略されることを除いて、同じ効果を持ちます。
2:コードをフォームタグで囲む必要があります。
3:クリックされるボタンはボタン型ではなく、サブミット型でなければなりません。

効果

は、変更テキストボックスを入力するための簡単なプロンプトです

プロンプトテキストをカスタマイズする方法

np.isnan(xx).any()
np.isnan(yy).any()
np.isinf(xx).any()
np.isinf(yy).any()

必須項目を無効化する方法

1:ボタンの種類をsubmitではなくbuttonにする
2:投稿ボタンにformnovalidate属性を追加する

xx = np.nan_to_num(xx)
yy = np.nan_to_num(yy)

3:要素にnovalidate属性を追加して、フォーム全体のバリデーションを無効にします。

  <form method="post" action="" novalidate>
		   username<input type="text" id="username" required="required"><br>
		   password<input type="password" id="password" required><br>
		   <input type="submit" value="login" >
	   </form>


4, pattern属性 - 正規表現による検証
(1) マッチするフィールドが最初と最後に値することを示すために ^ と $ 文字を使用する必要はない。
(2) パターンを設定するだけなら、NULL値でも通ります。nullが許されない場合は、required属性も追加する。

html5フォームにおけるrequired属性の使い方についての記事は以上です。html5フォームにおけるrequired属性の詳細については、スクリプトハウスの過去記事を検索するか、以下の関連記事を引き続き閲覧してください。