ホームページ » ウェブデザイン » HTML5制約検証のイントロ

    HTML5制約検証のイントロ

    インタラクティブなWebサイトやアプリケーションは、私たちに可能にするフォームがなければ想像できません。 ユーザーとつながる, と データを入手する 円滑な取引を確保するために必要なのです。必要です 有効なユーザー入力, しかし、我々はそれを次のようにして取得する必要があります。 イライラしない 私たちのユーザーが多すぎる.

    スマートに選択されたUXデザインパターンを使ってフォームの使いやすさを向上させることができますが、HTML 5には制約検証のためのネイティブメカニズムもあります。 フロントエンドで入力エラーを捉える.

    この記事では、焦点を当てます。 ブラウザ提供の制約検証, そして、フロントエンド開発者がどのようにできるかを調べてください。 HTML5を使用した安全な有効なユーザー入力.

    フロントエンドの入力検証が必要な理由

    入力検証 2つの主な目標があります。取得するコンテンツは以下のとおりです。

    1.便利な

    必要です 使えるデータ. 私たちは人々を入らせる必要があります 正しい形式の現実的なデータ. たとえば、今日生きている人は200年前に生まれませんでした。このようなデータを取得することは、最初は面白そうに見えるかもしれませんが、長期的には厄介なことであり、データベースに無用なデータを取り込むことになります。.

    2.安全

    セキュリティについて言及するとき、これは我々がする必要があることを意味します 悪意のあるコンテンツの挿入を防ぐ - 故意か偶然か.

    有用性(妥当なデータを取得する)を達成することができます クライアント側のみ, バックエンドチームはこれをあまりやり過ぎることはできません。達成する セキュリティ, フロントエンドとバックエンドの開発者は協力する必要があります。.

    フロントエンド開発者がクライアント側で入力を適切に検証すると、 バックエンドチームははるかに少ない脆弱性に対処しなければならないでしょう. ハッキング(サイト)を伴うことが多い 追加データを送信する, または 間違った形式のデータ. 開発者はこのようなセキュリティホールと戦うことができ、フロントエンドからうまく戦うことができます。.

    たとえば、このPHPセキュリティガイドでは、クライアント側でできることすべてをチェックすることを推奨しています。彼らは、次のような多くの例を挙げてフロントエンドの入力検証の重要性を強調しています。

    「入力検証は、極端に制限された値、たとえば整数、英数字文字列、またはHTTP URLである必要がある場合などに最も効果的に機能します。」

    フロントエンドの入力検証では、私たちの仕事は 合理的な制約を課す ユーザー入力HTML5の制約検証機能は私たちにそうする手段を提供します.

    HTML5の制約検証

    HTML 5以前は、フロントエンド開発者は JavaScriptでユーザー入力を検証する, これは面倒でエラーが発生しやすいプロセスでした。クライアントサイドのフォーム検証を改善するために、HTML5は 制約検証 最近のブラウザで動作するアルゴリズム 送信された入力の有効性を確認します.

    評価を行うために、アルゴリズムは次のものを使用します。 入力要素の検証関連の属性, といった ,

    最大長 属性 エラーメッセージを返さない, しかし、ブラウザは単に指定された文字数以上の文字をユーザに入力させません。それがそれが重要である理由です 制約についてユーザーに通知する, そうでなければ、なぜ彼らはタイピングを続けることができないのか理解できないでしょう。.

    4. パターン 正規表現の検証用

    パターン 属性により、 正規表現を使う 入力検証プロセスで。正規表現は 定義済みの文字セット それは特定のパターンを形成します。パターンに続く文字列を検索するため、またはパターンによって定義された特定のフォーマットを強制するためにそれを使用することができます。.

    とともに パターン 後者のことができる属性 - ユーザーが自分の入力を以下の形式で送信することを制限します。 与えられた正規表現にマッチ.

    パターン attributeには多くのユースケースがありますが、私たちがやりたいときに特に便利です。 パスワードフィールドを検証する.

    以下の例では、ユーザーは最低8文字のパスワードを入力する必要があります。少なくとも1文字と1番号を使用します(私が使用した正規表現のソース).

     

    あといくつか

    この記事では、私たちはどのようにを利用するかを見ました。 ブラウザ提供のフォーム検証 HTML5のネイティブ制約検証アルゴリズムによって提供されます。カスタム検証スクリプトを作成するには、フォーム検証スキルを向上させるための次のステップになることができるConstraint Validation APIを使用する必要があります。.

    HTML5フォームは支援技術によってアクセス可能であるため、必ずしも私たちは必ずしもこれを使う必要はありません。 アリア必須 スクリーンリーダーの必須入力フィールドをマークするためのARIA属性。ただし、古いブラウザにアクセシビリティサポートを追加することは依然として便利です。それはまた可能です 制約検証からオプトアウト を追加して 無効化 へのブール属性

    素子.