mirror of
https://github.com/yiisoft/yii2.git
synced 2025-12-19 07:07:58 +08:00
docs/guide-ja/input - revised a bit [ci skip]
This commit is contained in:
@@ -9,7 +9,7 @@ Yii におけるファイルのアップロードは、フォームモデル、
|
||||
--------------------------------
|
||||
|
||||
まず最初に、ファイルのアップロードを処理するモデルを作成する必要があります。
|
||||
次の内容を持つ `models/UploadForm.php` を作って作成してください。
|
||||
次の内容を持つ `models/UploadForm.php` を作成してください。
|
||||
|
||||
```php
|
||||
namespace app\models;
|
||||
@@ -18,7 +18,7 @@ use yii\base\Model;
|
||||
use yii\web\UploadedFile;
|
||||
|
||||
/**
|
||||
* UploadForm がアップロードのフォームの背後にあるモデルである。
|
||||
* UploadForm : アップロードのフォームの背後にあるモデル
|
||||
*/
|
||||
class UploadForm extends Model
|
||||
{
|
||||
@@ -166,7 +166,7 @@ public function rules()
|
||||
|
||||
画像をアップロードするときは、[[yii\validators\ImageValidator|ImageValidator]] が重宝するでしょう。
|
||||
このバリデータは、属性が有効な画像を受け取ったか否かを検証します。
|
||||
その画像は、[Imagine エクステンション](https://github.com/yiisoft/yii2/tree/master/extensions/imagine) によって、保存するか、または、処理することが出来ます。
|
||||
画像は、保存するか、または、[Imagine エクステンション](https://github.com/yiisoft/yii2/tree/master/extensions/imagine) によって処理することが出来ます。
|
||||
|
||||
複数のファイルをアップロードする
|
||||
--------------------------------
|
||||
|
||||
@@ -5,10 +5,10 @@ Yii においてフォームを使用するときは、主として [[yii\widget
|
||||
フォームがモデルに基づくものである場合はこの方法を選ぶべきです。
|
||||
これに加えて、[[yii\helpers\Html]] にはいくつかの有用なメソッドがあり、どんなフォームでも、ボタンやヘルプテキストを追加するのには、通常、それらのメソッドを使います。
|
||||
|
||||
フォームは、クライアント側で表示されるものですが、たいていの場合、サーバ側でフォームの入力を検証するために使われる、対応する [モデル](structure-models.md) を持ちます
|
||||
フォームは、クライアント側で表示されるものですが、たいていの場合、対応する [モデル](structure-models.md) を持ち、それを使ってサーバ側でフォームの入力を検証します
|
||||
(入力の検証の詳細については、[入力を検証する](input-validation.md) の節を参照してください)。
|
||||
モデルに基づくフォームを作成する場合、最初のステップは、モデルそのものを定義することです。
|
||||
モデルは、データベースの何らかのデータを表現するために [アクティブレコード](db-active-record.md) から派生させたクラスか、あるいは、任意の入力、例えばログインフォームの入力を捕捉するために ([[yii\base\Model]] から派生させた) 汎用的な Model クラスか、どちらかにすることが出来ます。
|
||||
モデルは、データベースの何らかのデータを表現するために [アクティブレコード](db-active-record.md) から派生させたクラスか、あるいは、任意の入力、例えばログインフォームの入力を保持するための ([[yii\base\Model]] から派生させた) 汎用的な Model クラスか、どちらかにすることが出来ます。
|
||||
以下の例においては、ログインフォームのために汎用的なモデルを使う方法を示します。
|
||||
|
||||
```php
|
||||
|
||||
@@ -14,7 +14,8 @@
|
||||
- 一つのページでレコードを更新、作成、および、削除する
|
||||
|
||||
前に説明した単一モデルのフォームとは対照的に、モデルの配列を扱うことになります。
|
||||
この配列がビューに渡されて、各モデルのためのインプットフィールドが表のような形式で表示され、そして、複数のモデルを一度にロードしたり検証したりするために [[yii\base\Model]] のヘルパメソッドを使用します。
|
||||
この配列がビューに渡されて、各モデルのためのインプットフィールドが表のような形式で表示されます。
|
||||
そして、複数のモデルを一度にロードしたり検証したりするために [[yii\base\Model]] のヘルパメソッドを使用します。
|
||||
|
||||
- [[yii\base\Model::loadMultiple()|Model::loadMultiple()]] - 送信されたデータをモデルの配列にロードします。
|
||||
- [[yii\base\Model::validateMultiple()|Model::validateMultiple()]] - モデルの配列を検証します。
|
||||
@@ -58,7 +59,7 @@ class SettingsController extends Controller
|
||||
[[yii\base\Model::loadMultiple()|Model::loadMultiple()]] が POST から来るフォームデータを複数のモデルに代入し、[[yii\base\Model::validateMultiple()|Model::validateMultiple()]] が全てのモデルを一度に検証します。
|
||||
保存するときには、`validateMultiple()` を使ってモデルの検証を済ませていますので、[[yii\db\ActiveRecord::save()|save()]] のパラメータに `false` を渡して、二度目の検証を実行しないようにしています。
|
||||
|
||||
次に、`update` ビューにあるフォームです。
|
||||
次に、`update` ビューの中にあるフォームです。
|
||||
|
||||
```php
|
||||
<?php
|
||||
|
||||
@@ -41,7 +41,7 @@ public function rules()
|
||||
}
|
||||
```
|
||||
|
||||
[[yii\base\Model::rules()|rules()]] メソッドは配列を返すべきものですが、配列の各要素は次の形式の配列でなければなりません。
|
||||
[[yii\base\Model::rules()|rules()]] メソッドは規則の配列を返すべきものですが、その配列の各要素は次の形式の配列でなければなりません。
|
||||
|
||||
```php
|
||||
[
|
||||
@@ -366,7 +366,7 @@ class CountryValidator extends Validator
|
||||
```
|
||||
|
||||
|
||||
あなたのバリデータで、モデル無しの値の検証をサポートしたい場合は、[[yii\validators\Validator::validate()]] もオーバーライドしなければなりません。
|
||||
あなたのバリデータで、モデルを使わない値の検証をサポートしたい場合は、[[yii\validators\Validator::validate()]] もオーバーライドしなければなりません。
|
||||
または、`validateAttribute()` と `validate()` の代りに、[[yii\validators\Validator::validateValue()]] をオーバーライドしても構いません。
|
||||
と言うのは、前の二つは、デフォルトでは、`validateValue()` を呼び出すことによって実装されているからです。
|
||||
|
||||
@@ -452,7 +452,7 @@ class LoginForm extends Model
|
||||
- `messages`: 属性に対する検証のエラーメッセージを保持するために使用される配列。
|
||||
- `deferred`: Deferred オブジェクトをプッシュして入れることが出来る配列 (次の項で説明します)。
|
||||
|
||||
次の例では、入力された値が既存のステータスのデータに含まれる有効な値であるかどうかを検証する `StatusValidator` を作成します。
|
||||
次の例では、入力された値が既存のステータスのデータに含まれる有効なステータス値であるかどうかを検証する `StatusValidator` を作成します。
|
||||
このバリデータは、サーバ側とクライアント側の両方の検証をサポートします。
|
||||
|
||||
```php
|
||||
|
||||
Reference in New Issue
Block a user