mirror of
https://github.com/yiisoft/yii2.git
synced 2025-08-14 14:28:27 +08:00
docs/guide-ja revised [skip ci] (#16015)
This commit is contained in:

committed by
Alexander Makarov

parent
35c3ff2fbd
commit
bd837bc9b1
@ -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');
|
||||
|
Reference in New Issue
Block a user