Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

docs/guide-ru/input-validation.md fix some typos #16181

Merged
merged 2 commits into from Apr 28, 2018
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
28 changes: 14 additions & 14 deletions docs/guide-ru/input-validation.md
Expand Up @@ -3,7 +3,7 @@

Как правило, вы никогда не должны доверять данным, полученным от пользователей и всегда проверять их прежде, чем работать с ними и добавлять в базу данных.

Учитывая [модель](structure-models.md) данных которые должен заполнить пользователь, можно проверить эти данные на валидность воспользовавшись методом [[yii\base\Model::validate()]]. Метод возвращает логическое значение с результатом валидации ложь/истина. Если данные не валидны, ошибку можно получить воспользовавшись методом [[yii\base\Model::errors]]. Рассмотрим пример:
Учитывая [модель](structure-models.md) данных которые должен заполнить пользователь, можно проверить эти данные на валидность воспользовавшись методом [[yii\base\Model::validate()]]. Метод возвращает логическое значение с результатом валидации ложь/истина. Если данные не валидны, ошибку можно получить воспользовавшись свойством [[yii\base\Model::errors]]. Рассмотрим пример:

```php
$model = new \app\models\ContactForm;
Expand Down Expand Up @@ -116,7 +116,7 @@ public function rules()
### Настройка сообщений об ошибках <span id="customizing-error-messages"></span>

Большинство валидаторов имеют сообщения об ошибках по умолчанию, которые будут добавлены к модели когда его атрибуты не проходят проверку.
Например, [[yii\validators\RequiredValidator|required]] валидатор добавил к модели сообщение об ошибке "Имя пользователя не может быть пустым." когда атрибут `username` не удовлетворил правилу этого валидатора.
Например, [[yii\validators\RequiredValidator|required]] валидатор добавляет к модели сообщение об ошибке "Имя пользователя не может быть пустым." когда атрибут `username` не удовлетворил правилу этого валидатора.

Вы можете настроить сообщение об ошибке для каждого правила, указав свойство `message` при объявлении правила, следующим образом:

Expand Down Expand Up @@ -144,7 +144,7 @@ public function rules()
* [[yii\base\Model::beforeValidate()]]: выполнение по умолчанию вызовет [[yii\base\Model::EVENT_BEFORE_VALIDATE]]
событие. Вы можете переопределить этот метод, или обрабатывать это событие, чтобы сделать некоторую предобработку данных (например, форматирование входных данных), метод вызывается до начала валидации. Этот метод должен возвращать логическое значение, указывающее, следует ли продолжать проверку или нет.
* [[yii\base\Model::afterValidate()]]: выполнение по умолчанию вызовет [[yii\base\Model::EVENT_AFTER_VALIDATE]]
событие. Вы можете либо переопределить этот метод или обрабатывать это событие, чтобы сделать некоторую постобработку данных(Например, отформатировать данные удобным для дальнейшей обработки образом), метод вызывается после валидации.
событие. Вы можете либо переопределить этот метод или обрабатывать это событие, чтобы сделать некоторую постобработку данных (например, отформатировать данные удобным для дальнейшей обработки образом), метод вызывается после валидации.

### Условные валидации <span id="conditional-validation"></span>

Expand All @@ -168,7 +168,7 @@ function ($model, $attribute)
```

Если вам нужна поддержка условной проверки на стороне клиента, вы должны настроить свойство метода
[[yii\validators\Validator::whenClient|whenClient]] которое принимает строку, представляющую JavaScript
[[yii\validators\Validator::whenClient|whenClient]], которое принимает строку, представляющую JavaScript
функцию, возвращаемое значение определяет, следует ли применять правило или нет. Например:

```php
Expand All @@ -186,7 +186,7 @@ function ($model, $attribute)
Например, вы хотите обрезать пробелы вокруг `username`. Вы можете использовать правила валидации для
достижения этой цели.

В следующих примерах показано, как обрезать пробелы в входных данных и превратить пустые входные данные в `NULL`
В следующих примерах показано, как обрезать пробелы во входных данных и превратить пустые входные данные в `NULL`
с помощью [trim](tutorial-core-validators.md#trim) и указать значения по умолчанию с помощью свойства
[default](tutorial-core-validators.md#default) основного валидатора:

Expand Down Expand Up @@ -221,7 +221,7 @@ return [
```

По умолчанию входные данные считаются пустыми, если их значением является пустая строка, пустой массив или `null`.
Вы можете настроить значение по умолчанию с помощью свойства [[yii\validators\Validator::isEmpty]]
Вы можете реализовать свою логику определения пустых входящих данных путем переопределения метода [[yii\validators\Validator::isEmpty]]
используя анонимную функцию. Например:

```php
Expand All @@ -239,7 +239,7 @@ return [

## Специальная валидация <span id="ad-hoc-validation"></span>

Иногда вам нужно сделать специальную валидацию для значений, которые не связаны с какой-либо модели.
Иногда вам нужно сделать специальную валидацию для значений, которые не связаны с какой-либо моделью.

Если необходимо выполнить только один тип проверки (например, проверка адреса электронной почты),
вы можете вызвать метод [[yii\validators\Validator::validate()|validate()]] нужного валидатора.
Expand Down Expand Up @@ -380,7 +380,7 @@ class MyForm extends Model

### Автономные валидаторы <span id="standalone-validators"></span>

Автономный валидатор - это класс, расширяющий [[yii\validators\Validator]] или его дочерних класс.
Автономный валидатор - это класс, расширяющий [[yii\validators\Validator]] или его дочерний класс.
Вы можете реализовать свою логику проверки путем переопределения метода
[[yii\validators\Validator::validateAttribute()]]. Если атрибут не прошел проверку, вызвать
[[yii\base\Model::addError()]],
Expand All @@ -404,7 +404,7 @@ class CountryValidator extends Validator
}
```

Если вы хотите, чтобы ваш валидатор поддерживал проверку значений, без модели, также необходимо переопределить
Если вы хотите, чтобы ваш валидатор поддерживал проверку значений без модели, также необходимо переопределить
[[yii\validators\Validator::validate()]]. Вы можете также
переопределить [[yii\validators\Validator::validateValue()]]
вместо `validateAttribute()` и `validate()`, потому что по умолчанию последние два метода
Expand All @@ -414,8 +414,8 @@ class CountryValidator extends Validator
## Валидация на стороне клиента <span id="client-side-validation"></span>

Проверка на стороне клиента на основе JavaScript целесообразна, когда конечные пользователи вводят
входные данные через HTML-формы, так как эта проверка позволяет пользователям узнать, ошибки ввода
быстрее, и таким образом улучшает ваш пользовательский интерфейс. Вы можете использовать или
входные данные через HTML-формы, так как эта проверка позволяет пользователям узнать ошибки ввода
быстрее и таким образом улучшает ваш пользовательский интерфейс. Вы можете использовать или
реализовать валидатор, который поддерживает валидацию на стороне клиента *в дополнение* к проверке на стороне сервера.

> Info: Проверка на стороне клиента желательна, но необязательна. Её основная цель заключается в
Expand All @@ -430,8 +430,8 @@ class CountryValidator extends Validator
Многие [основные валидаторы](tutorial-core-validators.md) поддерживают проверку на стороне клиента out-of-the-box.
Все, что вам нужно сделать, это просто использовать [[yii\widgets\ActiveForm]] для построения HTML-форм.

Например, `LoginForm` ниже объявляет два правила: один использует [required](tutorial-core-validators.md#required)
основные валидаторы, который поддерживается на стороне клиента и сервера; другой использует `validatePassword`
Например, `LoginForm` ниже объявляет два правила: первое использует [required](tutorial-core-validators.md#required)
основной валидатор, который поддерживается на стороне клиента и сервера; второе использует `validatePassword`
встроенный валидатор, который поддерживается только на стороне сервера.

```php
Expand Down Expand Up @@ -498,7 +498,7 @@ HTML-форма построена с помощью следующего код

- `attribute`: имя атрибута для проверки.
- `value`: проверяемое значение.
- `messages`: массив, используемый для хранения сообщений об ошибках, проверки значения атрибута.
- `messages`: массив, используемый для хранения сообщений об ошибках проверки значения атрибута.
- `deferred`: массив, который содержит отложенные объекты (описано в следующем подразделе).

В следующем примере мы создаем `StatusValidator` который проверяет значение поля на соответствие допустимым статусам.
Expand Down