0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

HTMLバリデーションメモ【Laravel】

0
Posted at

min / max
数字制限

<input type="number">

数字以外を入力しづらくなる。


minlength / maxlength
文字数制限

<input type="number" min="1" max="100">

3〜10文字のみ。


pattern(かなり重要)

正規表現で制御できる。

例えば:

<input type="text" pattern="[0-9]+">

数字のみ許可。

【疑問】このHTML上でのバリデーションは、エラーメッセージを出すことは出来るか?

結論:可能

方法 難易度 自由度
ブラウザ標準 超簡単
title属性 簡単
JavaScriptで独自表示 難しい

1. ブラウザ標準(ブラウザ依存のため、お使いのブラウザでメッセージ規格が変わる)

<input type="text" required>

このフィールドを入力してください

2. title属性でメッセージ補助

<input
    type="text"
    pattern="[0-9]+"
    title="数字のみ入力してください"
>

すると、pattern違反時に:

数字のみ入力してください

が表示される場合がある。

title は完全自由なエラーメッセージ機能ではない。あくまで「補助」。


3. JavaScriptで完全独自エラー

ここから先は「本格的なフロントエンド」。

例えば:

<span id="error-message"></span>

を置いて、

JavaScriptで:

errorMessage.textContent = '商品名を入力してください';

みたいに表示する。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?