diff --git a/docs/guide-ja/README.md b/docs/guide-ja/README.md index b91e7c3f73..6455760a1f 100644 --- a/docs/guide-ja/README.md +++ b/docs/guide-ja/README.md @@ -90,7 +90,8 @@ All Rights Reserved. * [フォームを作成する](input-forms.md) * [入力を検証する](input-validation.md) * [ファイルをアップロードする](input-file-upload.md) -* **未定** [複数モデルのデータ取得](input-multiple-models.md) +* [表形式インプットのデータ収集](input-tabular-input.md) +* [複数モデルのデータ取得](input-multiple-models.md) データの表示 diff --git a/docs/guide-ja/input-forms.md b/docs/guide-ja/input-forms.md index 486fa37c8d..411f3e14d6 100644 --- a/docs/guide-ja/input-forms.md +++ b/docs/guide-ja/input-forms.md @@ -1,72 +1,41 @@ -フォームを扱う -============== +フォームを作成する +================== -> Note|注意: この節はまだ執筆中です。 - -Yii においてフォームを使用する主たる方法は [[yii\widgets\ActiveForm]] によるものです。 +Yii においてフォームを使用するための主たる方法は [[yii\widgets\ActiveForm]] によるものです。 フォームがモデルに基づくものである場合はこの方法を優先すべきです。 -これに加えて、[[yii\helpers\Html]] にはいくつかの有用なメソッドがあり、通常は、あらゆるフォームにボタンやヘルプテキストを追加するのに使うことが出来ます。 +これに加えて、[[yii\helpers\Html]] にはいくつかの有用なメソッドがあり、どんなフォームでもボタンやヘルプテキストを追加するのには、通常はそれらが使われます。 +フォームは、クライアント側で表示されるものですが、たいていの場合、サーバ側でフォームの入力を検証するために使われる、対応する [モデル](structure-models.md) を持ちます +(入力の検証の詳細については、[入力を検証する](input-validation.md) の節を参照してください)。 モデルに基づくフォームを作成する場合、最初のステップは、モデルそのものを定義することです。 -モデルは、アクティブレコードクラス、あるいは、もっと汎用的な Model クラスから派生させることが出来ます。 -このログインフォームの例では、汎用的なモデルを使用します。 +モデルは、データベースの何らかのデータを表現するために [アクティブレコード](db-active-record.md) クラスから派生させるか、あるいは、任意の入力、例えばログインフォームの入力を捕捉するために ([[yii\base\Model]] から派生させた) 汎用的な Model クラスとすることが出来ます。 +以下の例においては、ログインフォームのために汎用的なモデルを使う方法を示します。 ```php -use yii\base\Model; +username); - if (!$user || !$user->validatePassword($this->password)) { - $this->addError('password', 'Incorrect username or password.'); - } - } - - /** - * 提供された username と password でユーザをログインさせる。 - * @return boolean ユーザのログインが成功したかどうか - */ - public function login() - { - if ($this->validate()) { - $user = User::findByUsername($this->username); - return true; - } else { - return false; - } - } -} ``` -コントローラはこのモデルのインスタンスをビューに渡し、ビューでは [[yii\widgets\ActiveForm|ActiveForm]] ウィジェットが使われます。 +コントローラにおいて、このモデルのインスタンスをビューに渡し、ビューでは [[yii\widgets\ActiveForm|ActiveForm]] ウィジェットがフォームを表示するのに使われます。 ```php + 'login-form', 'options' => ['class' => 'form-horizontal'], ]) ?> @@ -83,32 +52,31 @@ use yii\widgets\ActiveForm; 上記のコードでは、[[yii\widgets\ActiveForm::begin()|ActiveForm::begin()]] がフォームのインスタンスを作成するだけでなく、フォームの開始をマークしています。 [[yii\widgets\ActiveForm::begin()|ActiveForm::begin()]] と [[yii\widgets\ActiveForm::end()|ActiveForm::end()]] の間に置かれた全てのコンテントが `