Commit e4f8b8cb by Nobuo Kihara

docs/guide-ja/input-validation.md - WIP [ci skip]

parent e49f8f6b
...@@ -22,16 +22,6 @@ if ($model->validate()) { ...@@ -22,16 +22,6 @@ if ($model->validate()) {
} }
``` ```
舞台裏では、`validate()` メソッドが次のステップを踏んで検証を実行します。
1. 現在の [[yii\base\Model::scenario|シナリオ]] を使って [[yii\base\Model::scenarios()]] から属性のリストを取得し、どの属性が検証されるべきかを決定します。
検証されるべき属性が *アクティブな属性* と呼ばれます。
2. 現在の [[yii\base\Model::scenario|シナリオ]] を使って [[yii\base\Model::rules()]] から規則のリストを取得し、どの検証規則が使用されるべきかを決定します。
使用されるべき規則が *アクティブな規則* と呼ばれます。
3. 全てのアクティブな規則を一つずつ使って、その規則に関連付けられた全てのアクティブな属性を一つずつ検証します。
検証が失敗したときは、属性に対するエラーメッセージをモデルの中に保存します。
## 規則を宣言する <a name="declaring-rules"></a> ## 規則を宣言する <a name="declaring-rules"></a>
`validate()` を現実に動作させるためには、検証する予定の属性に対して検証規則を宣言しなければなりません。 `validate()` を現実に動作させるためには、検証する予定の属性に対して検証規則を宣言しなければなりません。
...@@ -89,10 +79,10 @@ public function rules() ...@@ -89,10 +79,10 @@ public function rules()
`validate()` メソッドが呼ばれると、次のステップを踏んで検証が実行されます。 `validate()` メソッドが呼ばれると、次のステップを踏んで検証が実行されます。
1. [[yii\base\Model::scenarios()]] で宣言されているシナリオを調べて、現在の [[yii\base\Model::scenario|シナリオ]] に該当するものを取り出し、どの属性が検証されるべきかを決定します。 1. 現在の [[yii\base\Model::scenario|シナリオ]] を使って [[yii\base\Model::scenarios()]] から属性のリストを取得し、どの属性が検証されるべきかを決定します。
検証されるべき属性が *アクティブな属性* す。 検証されるべき属性が *アクティブな属性* と呼ばれます。
2. [[yii\base\Model::rules()]] で宣言されている規則を調べて、現在の [[yii\base\Model::scenario|シナリオ]] に該当するものを取り出し、どの属性が規則が適用されるべきかを決定します。 2. 現在の [[yii\base\Model::scenario|シナリオ]] を使って [[yii\base\Model::rules()]] から規則のリストを取得し、どの検証規則が使用されるべきかを決定します。
用されるべき規則が *アクティブな規則* と呼ばれます。 使用されるべき規則が *アクティブな規則* と呼ばれます。
3. 全てのアクティブな規則を一つずつ使って、その規則に関連付けられた全てのアクティブな属性を一つずつ検証します。 3. 全てのアクティブな規則を一つずつ使って、その規則に関連付けられた全てのアクティブな属性を一つずつ検証します。
検証規則はリストに挙げられている順に評価されます。 検証規則はリストに挙げられている順に評価されます。
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment