Skip to content

Commit

Permalink
Merge pull request #16181 from 3elik/patch-4
Browse files Browse the repository at this point in the history
docs/guide-ru/input-validation.md fix some typos
  • Loading branch information
SilverFire committed Apr 28, 2018
2 parents 7e31b56 + c84876c commit 819e281
Showing 1 changed file with 14 additions and 14 deletions.
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

0 comments on commit 819e281

Please sign in to comment.