AngularJs Formsの解析について
この記事では主に AngularJs フォームを紹介します。ここでは関連情報と簡単なサンプルコードをまとめています。必要な方は参考にしてください。
コントロール (input、select、textarea) はユーザーがデータを入力するための手段です。フォームは、関連するコントロールをグループ化するために設計されたこれらのコントロールのコレクションです。
フォームとコントロールは検証サービスを提供するため、ユーザーは無効な入力に対するプロンプトを受け取ることができます。これにより、ユーザーは即座にフィードバックを受け取り、エラーの修正方法を知ることができるため、ユーザー エクスペリエンスが向上します。クライアント側の検証は優れたユーザー エクスペリエンスを提供する上で重要な役割を果たしますが、簡単に回避される可能性があるため、信頼できないことに留意してください。安全なアプリケーションにはサーバー側の認証が依然として必要です。
1. 単純な形式
双方向データバインディングを理解するための重要なディレクティブは ngModel です。 ngModel は、モデルからビュー、およびビューからモデルへの双方向のデータ バインディングを提供します。さらに、他のディレクティブに API を提供して、その動作を強化します。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
|
1 |
|
2. CSS クラスの使用
フォーム、コントロール、ngModel を豊富なスタイルにするために、次のクラスを追加できます:
ng-valid
-
ng-invalid
-
ng-pristine (一度も入力されていない)
ng-dirty (入力されている)
次の例では、CSS を使用して各フォーム コントロールの有効性を表示します。この例では、user.name と user.email は両方とも必須ですが、それらが変更されると (ダーティに)、背景が赤で表示されます。これにより、フォームを操作した後 (送信後?)、その有効性が満たされていないことが判明するまで、ユーザーはエラーによって気を散らされることがなくなります。 Angular では、フォームは FormController のインスタンスです。フォーム インスタンスは、name 属性を使用して自由にスコープに公開できます (ここでは理解できませんが、スコープにはフォームの name 属性と同じプロパティはありませんが、「document.form」が原因です) name」メソッドでも取得できます)。同様に、コントロールは NgModelController のインスタンスです。コントロール インスタンスも同様に、name 属性を使用してフォームに公開できます。これは、フォームとコントロール (コントロール) の両方の内部プロパティが、標準のバインディング プリミティブを使用してビューでバインドできることを示しています。
「保存」ボタンは、フォームが変更され、入力が有効な場合にのみ使用できます。 user.email と user.agree のカスタマイズされたエラー メッセージ。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
<!DOCTYPE HTML>
<html lang=
"zh-cn"
ng-app=
"CSSClasses"
>
<head>
<meta charset=
"UTF-8"
>
<title>CSSClasses</title>
<style type=
"text/css"
>
.ng-cloak {
display: none;
}
.css-form input.ng-invalid.ng-dirty {
background-color: #fa787e;
}
.css-form input.ng-valid.ng-dirty {
background-color: #78fa89;
}
</style>
</head>
<body>
<p ng-controller=
"MyCtrl"
class
=
"ng-cloak"
>
<form novalidate
class
=
"css-form"
name=
"formName"
>
名字: <input ng-model=
"user.name"
type=
"text"
required><br/>
Email: <input ng-model=
"user.email"
type=
"email"
required><br/>
性别: <input value=
"男"
ng-model=
"user.gender"
type=
"radio"
>男
<input value=
"女"
ng-model=
"user.gender"
type=
"radio"
>女
<br/>
<button ng-click=
"reset()"
>RESET</button>
<button ng-click=
"update(user)"
>SAVE</button>
</form>
<pre
class
=
"brush:php;toolbar:false"
>form = {{user | json}}
1
saved = {{saved | json}}
ログイン後にコピー- IV. カスタム検証
Angular は、ほとんどのパブリック HTML フォーム フィールド (入力、テキスト、数値、URL、電子メール、ラジオ、チェックボックス) タイプの実装を提供します。フォーム検証ディレクティブ (必須、パターン、長さ、最大長、最小、最大)。
ビューからモデルへの更新 - 同様のアプローチで、ユーザーがコントロールを操作するたびに、NgModelController.$setViewValue がトリガーされます。現時点では、NgModelController$parsers を実行する番です (コントロールが DOM から値を取得した後、この配列内のすべてのメソッドを実行し、値を確認、フィルターまたは変換し、検証します)。 。
次の例では、2つのディレクティブを作成します。 最初のものは integer で、入力が有効な整数であるかどうかを検証します。たとえば、1.23 は小数部分を含むため、不正な値です。配列の末尾に挿入 (プッシュ) するのではなく、先頭に挿入 (シフト解除) していることに注意してください。これは、配列を最初に実行してこのコントロールの値を使用するためです (この配列は、配列として使用されると推定されます)。変換が行われる前に検証関数が実行される必要があります。 第二个directive是smart-float。他将”1.2”和”1,2”转换为一个合法的浮点数”1.2”。注意,我们在这不可以使用HTML5的input类型”number”,因为浏览器不允许用户输入我们预期的非法字符,如”1,2”(它只认识”1.2”)。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 |
|
五、Implementing custom form control (using ngModel)
angular实现了所有HTML的基础控件(input,select,textarea),能胜任大多数场景。然而,如果我们需要更加灵活,我们可以通过编写一个directive来实现自定义表单控件的目的。
为了制定控件和ngModel一起工作,并且实现双向数据绑定,它需要:
实现render方法,是负责在执行完并通过所有NgModelController.$formatters方法后,呈现数据的方法。
调用$setViewValue方法,无论任何时候用户与控件发生交互,model需要进行响应的更新。这通常在DOM事件监听器里实现。
可以查看$compileProvider.directive获取更多信息。
下面的例子展示如何添加双向数据绑定特性到可以编辑的元素中。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
|
以上就是本文的全部内容,希望对大家的学习有所帮助,更多相关内容请关注PHP中文网!
相关推荐:
以上がAngularJs Formsの解析についての詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック











Javascript は、コードの構成、コードのプログラミング パラダイム、およびオブジェクト指向理論の点で非常にユニークな言語です。しかし、JavaScript が 20 年間主流であったとはいえ、jQuery、Angularjs、さらには React などの人気のあるフレームワークを理解したい場合は、「Black Horse Cloud Classroom JavaScript Advanced Framework」を見てください。デザインビデオチュートリアル」。

今日の情報化時代において、ウェブサイトは人々が情報を入手し、コミュニケーションを図るための重要なツールとなっています。レスポンシブな Web サイトはさまざまなデバイスに適応し、ユーザーに高品質のエクスペリエンスを提供できます。これは、現代の Web サイト開発のホットスポットとなっています。この記事では、PHP と AngularJS を使用して応答性の高い Web サイトを構築し、高品質のユーザー エクスペリエンスを提供する方法を紹介します。 PHP の概要 PHP は、Web 開発に最適なオープンソースのサーバー側プログラミング言語です。 PHP には、学びやすさ、クロスプラットフォーム、豊富なツール ライブラリ、開発効率など、多くの利点があります。

インターネットの継続的な発展に伴い、Web アプリケーションは企業情報構築の重要な部分となり、最新化作業に必要な手段となりました。 Web アプリケーションの開発、保守、拡張を容易にするために、開発者は開発ニーズに合った技術フレームワークとプログラミング言語を選択する必要があります。 PHP と AngularJS は非常に人気のある 2 つの Web 開発テクノロジであり、それぞれサーバー側とクライアント側のソリューションであり、これらを組み合わせて使用すると、Web アプリケーションの開発効率とユーザー エクスペリエンスを大幅に向上させることができます。 PHPPHPの利点

Web テクノロジーの急速な発展に伴い、シングル ページ Web アプリケーション (SinglePage Application、SPA) は、Web アプリケーション モデルとしてますます人気が高まっています。従来の複数ページの Web アプリケーションと比較して、SPA の最大の利点は、ユーザー エクスペリエンスがよりスムーズであり、サーバーのコンピューティング負荷も大幅に軽減されることです。この記事では、FlaskとAngularJSを使って簡単なSPAを構築する方法を紹介します。 Flask は軽量の Py です

Web アプリケーションの人気に伴い、フロントエンド フレームワーク AngularJS の人気も高まっています。 AngularJS は、Google が開発した JavaScript フレームワークで、動的な Web アプリケーション機能を備えた Web アプリケーションの構築に役立ちます。一方、バックエンド プログラミングの場合、PHP は非常に人気のあるプログラミング言語です。サーバーサイド プログラミングに PHP を使用している場合、PHP と AngularJS を使用すると、Web サイトにさらに動的な効果がもたらされます。

インターネットの普及に伴い、ネットワークを使用してファイルを転送したり共有したりする人が増えています。ただし、さまざまな理由により、FTP などの従来の方法をファイル管理に使用しても、現代のユーザーのニーズを満たすことができません。したがって、使いやすく、効率的で安全なオンライン ファイル管理プラットフォームを確立することがトレンドになっています。この記事で紹介するオンライン ファイル管理プラットフォームは、PHP と AngularJS をベースにしており、ファイルのアップロード、ダウンロード、編集、削除などの操作を簡単に実行でき、ファイル共有、検索、検索などの一連の強力な機能を提供します。

インターネットの普及と発展に伴い、フロントエンド開発の重要性がますます高まっています。フロントエンド開発者として、私たちはさまざまな開発ツールとテクノロジーを理解し、習得する必要があります。その中でも、PHP と AngularJS は非常に便利で人気のあるツールです。この記事では、これら 2 つのツールをフロントエンド開発に使用する方法を説明します。 1. PHP の概要 PHP は、人気のあるオープン ソースのサーバー側スクリプト言語であり、Web 開発に適しており、Web サーバーやさまざまなオペレーティング システム上で実行できます。 PHP の利点は、シンプルさ、スピード、利便性です。
