docs/guide-ja revised [skip ci] (#16015)

This commit is contained in:
Nobuo Kihara
2018-03-31 19:13:56 +09:00
committed by Alexander Makarov
parent 35c3ff2fbd
commit bd837bc9b1
97 changed files with 2971 additions and 2858 deletions

View File

@ -1,7 +1,7 @@
クライアントサイドで ActiveForm を拡張する
==========================================
クライアントサイドで ActiveForm を拡張する
============================================
[[yii\widgets\ActiveForm]] ウィジェットは、クライアントバリデーションのために使う一連の JavaScript メソッドを備えています。
[[yii\widgets\ActiveForm]] ウィジェットは、クライアント・サイドの検証に使う一連の JavaScript メソッドを備えています。
その実装は非常に柔軟で、様々な方法で拡張することが可能になっています。
下記でそれについて解説します。
@ -23,9 +23,9 @@ $('#contact-form').on('beforeSubmit', function (e) {
### `beforeValidate`
`beforeValidate` は、フォーム全体を検証する前にトリガされます。
`beforeValidate` は、フォーム全体を検証する前にトリガされます。
イベントハンドラのシグニチャは以下の通り:
イベントハンドラのシグニチャは以下の通り:
```javascript
function (event, messages, deferreds)
@ -34,17 +34,17 @@ function (event, messages, deferreds)
引数は以下の通り:
- `event`: イベントのオブジェクト。
- `messages`: 連想配列で、キーは属性の ID、値は対応する属性のエラーメッセージの配列です。
- `messages`: 連想配列で、キーは属性の ID、値は対応する属性のエラーメッセージの配列です。
- `deferreds`: Deferred オブジェクトの配列。`deferreds.add(callback)` を使って、新しい deferrd な検証を追加することが出来ます。
ハンドラが真偽値 `false` を返すと、このイベントに続くフォームの検証は中止されます。
その結果、`afterValidate` イベントもトリガされません。
その結果、`afterValidate` イベントもトリガされません。
### `afterValidate`
`afterValidate` イベントは、フォーム全体を検証した後でトリガされます。
`afterValidate` イベントは、フォーム全体を検証した後でトリガされます。
イベントハンドラのシグニチャは以下の通り:
イベントハンドラのシグニチャは以下の通り:
```javascript
function (event, messages, errorAttributes)
@ -53,14 +53,14 @@ function (event, messages, errorAttributes)
引数は以下の通り:
- `event`: イベントのオブジェクト。
- `messages`: 連想配列で、キーは属性の ID、値は対応する属性のエラーメッセージの配列です。
- `messages`: 連想配列で、キーは属性の ID、値は対応する属性のエラーメッセージの配列です。
- `errorAttributes`: 検証エラーがある属性の配列。この引数の構造については `attributeDefaults` を参照して下さい。
### `beforeValidateAttribute`
`beforeValidateAttribute` イベントは、属性を検証する前にトリガされます。
`beforeValidateAttribute` イベントは、属性を検証する前にトリガされます。
イベントハンドラのシグニチャは以下の通り:
イベントハンドラのシグニチャは以下の通り:
```javascript
function (event, attribute, messages, deferreds)
@ -70,17 +70,17 @@ function (event, attribute, messages, deferreds)
- `event`: イベントのオブジェクト。
- `attribute`: 検証される属性。この引数の構造については `attributeDefaults` を参照して下さい。
- `messages`: 指定された属性に対する検証エラーメッセージを追加することが出来る配列。
- `messages`: 指定された属性に対する検証エラーメッセージを追加することが出来る配列。
- `deferreds`: Deferred オブジェクトの配列。`deferreds.add(callback)` を使って、新しい deferrd な検証を追加することが出来ます。
ハンドラが真偽値 `false` を返すと、指定された属性の検証は中止されます。
その結果、`afterValidateAttribute` イベントもトリガされません。
その結果、`afterValidateAttribute` イベントもトリガされません。
### `afterValidateAttribute`
`afterValidateAttribute` イベントは、フォーム全体および各属性の検証の後にトリガされます。
`afterValidateAttribute` イベントは、フォーム全体および各属性の検証の後にトリガされます。
イベントハンドラのシグニチャは以下の通り:
イベントハンドラのシグニチャは以下の通り:
```javascript
function (event, attribute, messages)
@ -90,13 +90,13 @@ function (event, attribute, messages)
- `event`: イベントのオブジェクト。
- `attribute`: 検証される属性。この引数の構造については `attributeDefaults` を参照して下さい。
- `messages`: 指定された属性に対する追加の検証エラーメッセージを追加することが出来る配列。
- `messages`: 指定された属性に対する追加の検証エラーメッセージを追加することが出来る配列。
### `beforeSubmit`
`beforeSubmit` イベントは、全ての検証が通った後、フォームを送信する前にトリガされます。
`beforeSubmit` イベントは、全ての検証が通った後、フォームを送信する前にトリガされます。
イベントハンドラのシグニチャは以下の通り:
イベントハンドラのシグニチャは以下の通り:
```javascript
function (event)
@ -110,9 +110,9 @@ function (event)
### `ajaxBeforeSend`
`ajaxBeforeSend` イベントは、AJAX ベースの検証のための AJAX リクエストを送信する前にトリガされます。
`ajaxBeforeSend` イベントは、AJAX ベースの検証のための AJAX リクエストを送信する前にトリガされます。
イベントハンドラのシグニチャは以下の通り:
イベントハンドラのシグニチャは以下の通り:
```javascript
function (event, jqXHR, settings)
@ -126,9 +126,9 @@ function (event, jqXHR, settings)
### `ajaxComplete`
`ajaxComplete` イベントはAJAX ベースの検証のための AJAX リクエストが完了した後にトリガされます。
`ajaxComplete` イベントはAJAX ベースの検証のための AJAX リクエストが完了した後にトリガされます。
イベントハンドラのシグニチャは以下の通り:
イベントハンドラのシグニチャは以下の通り:
```javascript
function (event, jqXHR, textStatus)
@ -143,7 +143,7 @@ function (event, jqXHR, textStatus)
## AJAX でフォームを送信する
検証(バリデーション)は、クライアントサイドまたは AJAX リクエストによって行うことが出来ますが、
検証(バリデーション)は、クライアントサイドまたは AJAX リクエストによって行うことが出来ますが、
フォームの送信そのものはデフォルトでは通常のリクエストとして実行されます。
フォームを AJAX で送信したい場合は、次のように、フォームの `beforeSubmit` イベントを処理することによって達成することが出来ます。
@ -173,9 +173,9 @@ jQuery の `ajax()` 関数について更に学習するためには、[jQuery d
現在のウェブ・アプリケーションでは、ユーザに対して表示した後でフォームを変更する必要がある場合がよくあります。
例えば、"追加"アイコンをクリックするとフィールドが追加される場合などです。
このようなフィールドに対するクライアント・バリデーションを有効にするためには、フィールドを ActiveForm JavaScript プラグインに登録しなければなりません。
このようなフィールドに対するクライアント・サイドの検証を有効にするためには、フィールドを ActiveForm JavaScript プラグインに登録しなければなりません。
フィールドそのものを追加して、そして、バリデーションのリストに追加しなければなりません。
フィールドそのものを追加して、そして、検証のリストに追加しなければなりません。
```javascript
$('#contact-form').yiiActiveForm('add', {
@ -190,7 +190,7 @@ $('#contact-form').yiiActiveForm('add', {
});
```
フィールドをバリデーションのリストから削除して検証されないようにするためには、次のようにします。
フィールドを検証のリストから削除して検証されないようにするためには、次のようにします。
```javascript
$('#contact-form').yiiActiveForm('remove', 'address');