Browse Source

Russian translation: improvements of start-forms (#16340) [skip ci]

tags/2.0.16
Alexey Pyltsyn 6 years ago committed by Alexander Makarov
parent
commit
a4d380854c
  1. 18
      docs/guide-ru/start-forms.md

18
docs/guide-ru/start-forms.md

@ -11,7 +11,7 @@
* Как создать [модель](structure-models.md) для данных, введённых пользователем;
* Как объявить правила проверки введённых данных;
* Как создать HTML форму в [представлении](structure-views.md).
* Как создать HTML-форму в [представлении](structure-views.md).
Создание модели <span id="creating-model"></span>
@ -96,10 +96,10 @@ class SiteController extends Controller
Действие создает объект `EntryForm`. Затем оно пытается заполнить модель данными из массива `$_POST`, доступ
к которому обеспечивает Yii при помощи [[yii\web\Request::post()]]. Если модель успешно заполнена, то есть пользователь
отправил данные из HTML формы, то для проверки данных будет вызван метод [[yii\base\Model::validate()|validate()]].
отправил данные из HTML-формы, то для проверки данных будет вызван метод [[yii\base\Model::validate()|validate()]].
Если всё в порядке, действие отобразит представление `entry-confirm`, которое показывает пользователю введенные им данные.
В противном случае будет отображено представление `entry`, которое содержит HTML форму и ошибки проверки данных, если
В противном случае будет отображено представление `entry`, которое содержит HTML-форму и ошибки проверки данных, если
они есть.
> Info: `Yii::$app` представляет собой глобально доступный экземпляр-одиночку
@ -111,7 +111,7 @@ class SiteController extends Controller
Создание представления <span id="creating-views"></span>
----------------------------------------------------
В заключение, создаём два представления с именами `entry-confirm` и `entry`, которые отображаются действием `entry` из
В заключение создаём два представления с именами `entry-confirm` и `entry`, которые отображаются действием `entry` из
предыдущего подраздела.
Представление `entry-confirm` просто отображает имя и email. Оно должно быть сохранено в файле `views/site/entry-confirm.php`.
@ -128,7 +128,7 @@ use yii\helpers\Html;
</ul>
```
Представление `entry` отображает HTML форму. Оно должно быть сохранено в файле `views/site/entry.php`.
Представление `entry` отображает HTML-форму. Оно должно быть сохранено в файле `views/site/entry.php`.
```php
<?php
@ -148,7 +148,7 @@ use yii\widgets\ActiveForm;
<?php ActiveForm::end(); ?>
```
Для построения HTML формы представление использует мощный [виджет](structure-widgets.md) [[yii\widgets\ActiveForm|ActiveForm]].
Для построения HTML-формы представление использует мощный [виджет](structure-widgets.md) [[yii\widgets\ActiveForm|ActiveForm]].
Методы `begin()` и `end()` выводят открывающий и закрывающий теги формы. Между этими вызовами создаются поля ввода при
помощи метода [[yii\widgets\ActiveForm::field()|field()]]. Первым идёт поле для "name", вторым — для "email".
Далее для генерации кнопки отправки данных вызывается метод [[yii\helpers\Html::submitButton()]].
@ -177,11 +177,11 @@ http://hostname/index.php?r=site%2Fentry
### Как работает вся эта «магия» <span id="magic-explained"></span>
Вы, скорее всего, задаётесь вопросом о том, как же эта HTML форма работает на самом деле. Весь процесс может показаться
немного волшебным: то как показываются подписи к полям, ошибки проверки данных при некорректном вводе и то что всё это
Вы, скорее всего, задаётесь вопросом о том, как же эта HTML-форма работает на самом деле. Весь процесс может показаться
немного волшебным: то как показываются подписи к полям, ошибки проверки данных при некорректном вводе и то, что всё это
происходит без перезагрузки страницы.
Да, проверка данных на самом деле происходит и на стороне клиента при помощи JavaScript и на стороне сервера.
Да, проверка данных на самом деле происходит и на стороне клиента при помощи JavaScript, и на стороне сервера.
[[yii\widgets\ActiveForm]] достаточно продуман, чтобы взять правила проверки, которые вы объявили в `EntryForm`,
преобразовать их в JavaScript код и использовать его для проведения проверок. На случай отключения JavaScript в браузере
валидация проводится и на стороне сервера как показано в методе `actionEntry()`. Это даёт уверенность в том, что данные

Loading…
Cancel
Save