From 1ffdfb60b8f9cc93ac3aa6cfd633d2d51104f450 Mon Sep 17 00:00:00 2001 From: Dmitry Korolev Date: Fri, 29 Aug 2014 22:12:48 +0400 Subject: [PATCH 1/3] added russian translation --- docs/guide-ru/tutorial-core-validators.md | 510 ++++++++++++++++++++++ 1 file changed, 510 insertions(+) create mode 100644 docs/guide-ru/tutorial-core-validators.md diff --git a/docs/guide-ru/tutorial-core-validators.md b/docs/guide-ru/tutorial-core-validators.md new file mode 100644 index 0000000000..d914e63214 --- /dev/null +++ b/docs/guide-ru/tutorial-core-validators.md @@ -0,0 +1,510 @@ +Core Validators +=============== + +Yii в своем ядре предоставляет набор часто используемых валидаторов, расположенных, в первую очередь, +в пространстве имен `yii\validators`. Вместо того, чтобы использовать длинные имена классов валидаторов, +вы можете использовать *псевдонимы*, чтобы указать на использование этих валидаторов. +Например, вы можете использовать псевдоним `required`, чтобы сослаться на класс [[yii\validators\RequiredValidator]]: + +```php +public function rules() +{ + return [ + [['email', 'password'], 'required'], + ]; +} +``` + +Все поддерживаемые псевдонимы валидаторов можно увидеть в свойстве [[yii\validators\Validator::builtInValidators]]. + +Ниже мы опишем основные способы использования и свойства всех встроенных валидаторов. + +## [[yii\validators\BooleanValidator|boolean]] + +```php +[ + // Проверяет 'selected' на соответствие 0 или 1, вне зависимости от типа данных + ['selected', 'boolean'], + + // Проверяет, что "deleted" - это тип данных boolean и содержит true или false + ['deleted', 'boolean', 'trueValue' => true, 'falseValue' => false, 'strict' => true], +] +``` + +Следующие валидаторы проверяют значения атрибутов для типа данных boolean + +- `trueValue`: значение, соответствующее *true*. По умолчанию - `'1'`. +- `falseValue`: значение, соответствующее *false*. По умолчанию - `'0'`. +- `strict`: должен ли тип данных соответствовать `trueValue` или `falseValue`. По умолчанию - `false`. + +> Note: Из-за того, что как правило данные, полученные из HTML-форм, представляются в виде строки, обычно вам стоит +оставить свойство [[yii\validators\BooleanValidator::strict|strict]] равным false. + + +## [[yii\captcha\CaptchaValidator|captcha]] + +```php +[ + ['verificationCode', 'captcha'], +] +``` +Этот валидатор обычно используется вместе с [[yii\captcha\CaptchaAction]] и [[yii\captcha\Captcha]], чтобы +убедиться, что данные в инпуте соответствуют верификационному коду, отображенному с помощью виджета +[[yii\captcha\Captcha|CAPTCHA]]. + +- `caseSensitive`: необходимо ли учитывать чувствительность к регистру при сравнении. По умолчанию - false. +- `captchaAction`: [route](structure-controllers.md#routes) соответствующий + [[yii\captcha\CaptchaAction|CAPTCHA action]], который рендерит изображение с CAPTCHA. По умолчанию - `'site/captcha'`. +- `skipOnEmpty`: может ли валидация быть пропущена, если инпут пустой. По умолчанию - false, + что означает, что input обязателен. + + +## [[yii\validators\CompareValidator|compare]] + +```php +[ + // проверяет, является ли значение атрибута "password" таким же, как "password_repeat" + ['password', 'compare'], + + // проверяет, что возраст больше или равен 30 + ['age', 'compare', 'compareValue' => 30, 'operator' => '>='], +] +``` + +Этот валидатор сравнивает значение указанного атрибута с другим, чтобы удостовериться, что их отношение +соответствует описанию в свойстве `operator`. + +- `compareAttribute`: имя атрибута, с которым нужно сравнить значение. Когда валидатор используется + для валидации атрибута, значением по умолчанию для этого свойства будет имя атрибута + с суффиксом `_repeat`. Например, если валидирующийся атрибут - `password`, + то значение свойства по умолчанию будет `password_repeat`. +- `compareValue`: постоянное значение, с которым будут сравниваться введенные данные. Когда одновременно указаны + это свойство и `compareAttribute`, это свойство получит приоритет. +- `operator`: оператор сравнения. По умолчанию `==`, что означает проверку на эквивалентность введенных данных и + `compareAttribute` и `compareValue`. Поддерживаются следующие операторы: + * `==`: проверяет два значения на эквивалентность. Сравнение не учитывает тип данных. + * `===`: проверяет два значения на эквивалентность. Сравнение учитывает тип данных. + * `!=`: проверяет, что два значения не эквивалентны. Сравнение не учитывает тип данных. + * `!==`: проверяет, что два значения не эквивалентны. Сравнение учитывает тип данных. + * `>`: проверяет, что валидируемое значение больше, чем то, с которым происходит сравнение. + * `>=`: проверяет, что валидируемое значение больше или равно тому, с которым происходит сравнение. + * `<`: проверяет, что валидируемое значение меньше, чем то, с которым происходит сравнение. + * `<=`: проверяет, что валидируемое значение меньше или равно тому, с которым происходит сравнение. + + +## [[yii\validators\DateValidator|date]] + +```php +[ + [['from', 'to'], 'date'], +] +``` +Этот валидатор проверяет соответствие данных форматам date, time или datetime. +Опционально, он может конвертировать введенное значение в UNIX timestamp и сохранить в атрибуте +описанном здесь: [[yii\validators\DateValidator::timestampAttribute|timestampAttribute]]. + +- `format`: формат даты/времени, согласно которому должна быть сделана валидация. Чтобы узнать больше деталей + о строке форматирования, пожалуйста, посмотрите [PHP manual about date_create_from_format()](http://www.php.net/manual/en/datetime.createfromformat.php) + Значением по умолчанию является `'Y-m-d'`. +- `timestampAttribute`: имя атрибута, к которому данный валидатор может передать UNIX timestamp, конвентированный + из строки даты/времени + + +## [[yii\validators\DefaultValueValidator|default]] + +```php +[ + // установить "age" null в качестве значения по умолчанию + ['age', 'default', 'value' => null], + + // установить "USA" в качестве значения по умолчанию для "country" + ['country', 'default', 'value' => 'USA'], + + // установить в "from" и "to" дату 3 дня и 6 дней от сегодняшней, если они пустые + [['from', 'to'], 'default', 'value' => function ($model, $attribute) { + return date('Y-m-d', strtotime($attribute === 'to' ? '+3 days' : '+6 days')); + }], +] +``` + +Этот валидатор не проверяет данные. Вместо этого он присваивает значения по умолчанию атрибутам, проходящим +валидацию, если эти атрибуты пусты. + +- `value`: значение по умолчанию или функция обратного вызова PHP, которая возвращает значение по умолчанию, + которое будет присвоино проверяемому атрибуту, если он пустой. Функция обратного вызова должна выглядеть так: + +```php +function foo($model, $attribute) { + // ... вычисление $value ... + return $value; +} +``` + +> Info: Определить, является значение пустым или нет, более подробно описано в отдельной статье + в секции [Empty Values](input-validation.md#handling-empty-inputs). + + +## [[yii\validators\NumberValidator|double]] + +```php +[ + // проверяет, является ли "salary" числом double + ['salary', 'double'], +] +``` + +Этот валидатор проверяет, что введенное значение является корректным double числом. Он идентичен +валидатору [number](#number). + +- `max`: верхний лимит (включительно) для значений. Если не установлен, значит, валидатор не будет проверять верхний лимит. +- `min`: Нижний лимит (включительно) для значений. Если не установлен, валидатор не будет проверять нижний лимит. + + +## [[yii\validators\EmailValidator|email]] + +```php +[ + // проверяет, что "email" это корректный email-адрес + ['email', 'email'], +] +``` +Валидатор проверяет, что введенное значение является корректным email-адресом. + +- `allowName`: разрешает передавать в атрибут имя (пример: `John Smith `). По умолчанию - false. +- `checkDNS`, проверяет, существует ли доменное имя для введенного адреса (и A, и MX запись). + Учтите, что проверка может закончится неудачей, что может быть вызвано временными проблемами с DNS, даже если + email-адрес корректен. По умоланию - false. +- `enableIDN`, нужно ли учитывать IDN (многоязычные доменные имена). По умолчанию - false. Учтите, что для использования + IDN-валидации вам нужно установить и включить PHP расширение `intl`, иначе будет выброшено исключение. + + +## [[yii\validators\ExistValidator|exist]] + +```php +[ + // a1 должен существовать в колонке, которая представляется атрибутом "a1" + ['a1', 'exist'], + + // a1 должно существовать, но его значение будет использовать a2 для проверки существования + ['a1', 'exist', 'targetAttribute' => 'a2'], + + // и a1, и a2 должны существовать, в противном случае оба атрибута будут возвращать ошибку + [['a1', 'a2'], 'exist', 'targetAttribute' => ['a1', 'a2']], + + // и a1, и a2 должны существовать, но только атрибут a1 будет возвращать ошибку + ['a1', 'exist', 'targetAttribute' => ['a1', 'a2']], + + // a1 требует проверки существования a2 и a3 (используя значение a1) + ['a1', 'exist', 'targetAttribute' => ['a2', 'a1' => 'a3']], + + // a1 должен существовать. Если a1 является массивом, тогда каждый его элемент должен существовать + ['a1', 'exist', 'allowArray' => true], +] +``` + +Этот валидатор ищет введенные данные в колонке таблицы. Он работает только с атрибутами +модели [Active Record](db-active-record.md). Он поддерживает проверку либо одного столбца, либо нескольких + +- `targetClass`: имя класса [Active Record](db-active-record.md), который должен будет быть использован для валидации + введенного значения. Если не установлен, будет использован класс текущей модели. +- `targetAttribute`: имя атрибута в `targetClass` который должен быть использован для валидации существования + введенного значения. Если не установлен, будет использовано имя атрибута, который валидируется в данный момент. + Вы можете использовать массив для валидации нескольких колонок одновременно. Значениями массива являются атрибуты + которые будут использованы для проверки существования, пока ключи массива будут являться атрибутами, эти значения + будут проверены. Если ключ и значения одинаковы, вы можете указать только значение. +- `filter`: дополнительный фильтр, который будет добавлен к запросу в базу данных для проверки на существование значения. + Это может быть строка или массив, представляющие дополнительные условия в запросе (подробнее о формате + значений запроса [[yii\db\Query::where()]]), или анонимной функцией с сигнатурой `function ($query)`, + где `$query` - это [[yii\db\Query|Query]] объект, который вы можете модифицировать в функции. +- `allowArray`: разрешать ли значению быть массивом. По умолчанию - false. Если свойство установлено в true + и введенные данные - массив, тогда каждый его элемент должен существовать в соответствующей колонке таблицы. + Помните, что это свойство не может быть установлено в true, если вы валидируете несколько колонок, передавая + их в `targetAttribute` как массив. + + +## [[yii\validators\FileValidator|file]] + +```php +[ + // проверяет, что "primaryImage" - это загруженное изображение в формате PNG, JPG или GIF + // размер файла должен быть меньше 1MB + ['primaryImage', 'file', 'extensions' => ['png', 'jpg', 'gif'], 'maxSize' => 1024*1024*1024], +] +``` + +Этот валидатор проверяет, что инпут является валидным загруженным файлом. + +- `extensions`: список имен расширений, которые допустимы для загрузки. это также может быть или массив, или + строка, содержащая имена файловых расширений, разделенных пробелом или запятой (пр.: "gif, jpg"). + Имя расширения не чувствительно к регистру. По умолчанию - null, что значит, что все имена файловых расширений + допустимы. +- `mimeTypes`: список MIME-типов которые допустимы для загрузки. Это может быть или массив, или строка, + содержащая MIME-типы файлов, разделенные пробелом или запятой (пр.: "image/jpeg, image/png"). + Имена mime-типов не чувствительны к регистру. По умолачанию - null, что значит, что допустимы все MIME-типы. +- `minSize`: минимальный размер файла в байтах, допустимый для загрузки. По умолчанию - null, что значит, что нет + минимального лимита. +- `maxSize`: максимальный размер файла в байтах, допустимый для загрузки. По умолчанию - null, что значит, что нет + максимального лимита. +- `maxFiles`: максимальное количество файлов, которое может быть передано в атрибут. По умолчанию 1, что значит, что + инпут должен быть файлов в единственном экземпляре. Если больше, чем 1, то атрибут должен быть массивом, + состоящим из не более чем `maxFiles` загруженных файлов. +- `checkExtensionByMimeType`: нужно ли проверять расширение файла исходя из его MIME-типа. Если они не соответствуют + друг другу, то файл будет считаться некорректным. По умолчанию true, то есть проверка будет произведена. + +`FileValidator` используется вместе с [[yii\web\UploadedFile]]. Пожалуйста, посмотрите раздел +[Uploading Files](input-file-upload.md) для более полного понимания загрузки и проверки файлов. + + +## [[yii\validators\FilterValidator|filter]] + +```php +[ + // обрезает пробелы "username" и "email" + [['username', 'email'], 'filter', 'filter' => 'trim', 'skipOnArray' => true], + + // нормализует значение "phone" + ['phone', 'filter', 'filter' => function ($value) { + // нормализация значения происходит тут + return $value; + }], +] +``` + +Этот валидатор не валидирует данные. Вместо этого он применяет указанный фильтр к введенному значению и +присваивает результат применения фильтра атрибуту. + +- `filter`: PHP-callback, осуществляющий фильтрацию. Это может быть глобальная php функция, анонимная функция + и т.д. Функция должна выглядеть как `function ($value) { return $newValue; }`. Это свойство обязательно должно + быть установлено. +- `skipOnArray`: нужно ли пропускать валидацию, если введенным значением является массив. По умолчанию false. + Помните, что если фильтр не может принимать массив, вы должны установить это значение в true. Иначе могут + произойти различные ошибки PHP. + +> Трюк: Если вы хотите удалить пробелы вокруг значений атрибута, вы можете использовать валидатор [trim](#trim). + +## [[yii\validators\ImageValidator|image]] + +```php +[ + // проверяет, что "primaryImage" - это валидное изображение с указанными размерами + ['primaryImage', 'image', 'extensions' => 'png, jpg', + 'minWidth' => 100, 'maxWidth' => 1000, + 'minHeight' => 100, 'maxHeight' => 1000, + ], +] +``` + +Этот валидатор проверяет, что введенные данные являются корректным файлом изображения. Он расширяет [file](#file) +валидатор и наследует все его свойства. Кроме того, он поддерживает следующие дополнительные свойства, специфичные +для валидации изображений: + +- `minWidth`: минимальныя ширина изображения. По умолчанию null, что значит, что нет нижнего лимита. +- `maxWidth`: максимальная ширина изображения. По умолчанию null, что значит, что нет верхнего лимита. +- `minHeight`: минимальныя высота изображения. По умолчанию null, что значит, что нет нижнего лимита. +- `maxHeight`: максимальная высота изображения. По умолчанию null, что значит, что нет верхнего лимита. + + +## [[yii\validators\RangeValidator|in]] + +```php +[ + // проверяет, что значение "level" равно 1, 2 или 3 + ['level', 'in', 'range' => [1, 2, 3]], +] +``` + +Этот валидатор проверяет, что введенное значение соответствует одному из значений, указанных в `range`. + +- `range`: список значений, с которыми будет сравниваться введенное значение. +- `strict`: должно ли сравнение введенного значения со списком значений быть строгим (учитывать тип данных) + По умолчанию false. +- `not`: должен ли результат валидации быть инвертирован. По умолчанию false. Если свойство установлено в true, + валидатор проверяет, что введенное значение НЕ соответсвует ни одному из значений, указанных в `range`. +- `allowArray`: устанавливает, допустимо ли использовать массив в качестве входных данных. Если установлено в true + и введенные данные являются массивом, для каждого элемента введенного массива должно быть найдено соответствие в + `range`. + + +## [[yii\validators\NumberValidator|integer]] + +```php +[ + // проверяет "age" на то, что это integer значение + ['age', 'integer'], +] +``` + +Проверяет, что введенное значение является integer значением. + +- `max`: верхний лимит (включительно) для числа. Если не установлено, валидатор не будет проверять верхний лимит. +- `min`: нижний лимит (включительно) для числа. Если не установлено, валидатор не будет проверять нижний лимит. + + +## [[yii\validators\RegularExpressionValidator|match]] + +```php +[ + // проверяет, что "username" начинается с буквы и содержит только буквенные символы, цифровые и + // знак подчеркивания + ['username', 'match', 'pattern' => '/^[a-z]\w*$/i'] +] +``` + +Этот валидатор проверяет, что введенное значение совпадает с указанным регулярным выражением. + +- `pattern`: регулярное выражение, с которым должно совпадать введенное значение. Это свойство должно быть установлено, + иначе будет выброшено исключение. +- `not`: инвертирует регулярное выражение. По умолчанию false, что значит, что валидация будет успешна + только если введенное значение совпадают с шаблоном. Если установлено в true, валидация будет успешна + только если введенное значение НЕ совпадает с шаблоном. + + +## [[yii\validators\NumberValidator|number]] + +```php +[ + // проверяет, является ли "salary" числом + ['salary', 'number'], +] +``` + +Этот валидатор проверяет, являются ли введенные значения числовыми. Он эквивалентен валидатору [double](#double). + +- `max`: верхний лимит (включительно) для числа. Если не установлено, валидатор не будет проверять верхний лимит. +- `min`: нижний лимит (включительно) для числа. Если не установлено, валидатор не будет проверять нижний лимит. + + +## [[yii\validators\RequiredValidator|required]] + +```php +[ + // проверяет, являются ли "username" и "password" не пустыми + [['username', 'password'], 'required'], +] +``` + +Этот валидатор проверяет, являются ли введенные значения не пустыми. + +- `requiredValue`: желаемое значение, которому должны соответствовать проверемые данные. Если не установлено, + это значит, что данные должны быть не пусты. +- `strict`: учитывать или нет соответствие по типу данных при валидации. + Если `requiredValue` не установлено, если это свойство установлено в true, валидатор проверит, что введенное значение + строго не соответствует null; если свойство установлено в false, валидатор будет проверять значение на пустоту с + приведением типов. + Если `requiredValue` установлено, сравнение между введенными данными и `requiredValue` будет также учитывать тип данных + если это свойство установлено в true. + +> Информация: как определить, является ли значение пустым или нет, подробнее рассказывается + в секции [Empty Values](input-validation.md#handling-empty-inputs). + + +## [[yii\validators\SafeValidator|safe]] + +```php +[ + // обозначает "description" как safe атрибут + ['description', 'safe'], +] +``` + +Этот валидатор не проверяет данные. Вместо этого он указывает, что атрибут является +[safe attribute](structure-models.md#safe-attributes) атрибутом. + + +## [[yii\validators\StringValidator|string]] + +```php +[ + // проверяет, что "username" это страка с длиной от 4 до 24 символов + ['username', 'string', 'length' => [4, 24]], +] +``` + +Этот валидатор проверяет, что введенное значение - это валидная страка с указанной длиной. + +- `length`: описывает длину для строки, проходящей валидацию. Может быть определен следующими + способами: + * числом: точная длина, которой должна соответствовать строка; + * массив с одним элементом: минимальная длина входящей строки (напр.: `[8]`). Это перезапишет `min`. + * массив с двумя элементами: минимальная и максимальная длина введенной строки (напр.: `[8, 128]`). + Это перезапишет и `min`, и `max`. +- `min`: минимальная длина входящей строки. Если не установлено, то не будет ограничений на минимальную длину. +- `max`: максимальная длина входящей строки. Если не установлено, то не будет ограничения на максимальную длину. +- `encoding`: кодировка входящей строки. Если не установлено, будет использовано значение из + [[yii\base\Application::charset|charset]], которое по умолачнию установлено в `UTF-8`. + + +## [[yii\validators\FilterValidator|trim]] + +```php +[ + // обрезает пробелы вокруг "username" и "email" + [['username', 'email'], 'trim'], +] +``` + +Этот валидатор не производит проверки данных. Вместо этого он будет обрезать пробелы вокруг введенных данных. +Помните, что если введенные данные являются массивом, то они будут проигнорированы этим валидатором. + + +## [[yii\validators\UniqueValidator|unique]] + +```php +[ + // a1 должен быть уникальным в столбце, который представляет "a1" атрибут + ['a1', 'unique'], + + // a1 должен быть уникальным, но будет использована столбец a2 для проверки уникальности значения a1 + ['a1', 'unique', 'targetAttribute' => 'a2'], + + // a1 и a2 вместе должны быть уникальны, и они оба будут получать сообщения об ошибке + [['a1', 'a2'], 'unique', 'targetAttribute' => ['a1', 'a2']], + + // a1 и a2 вместе должны быть уникальны, но только a1 будет получать сообщение об ошибке + ['a1', 'unique', 'targetAttribute' => ['a1', 'a2']], + + // a1 должен быть уникальным, что устанавливается проверкой уникальности a2 и a3 + // (используя значение a1) + ['a1', 'unique', 'targetAttribute' => ['a2', 'a1' => 'a3']], +] +``` + +Этот валидатор проверяет введенные данные на уникальность в столбце таблицы. Он работает только с +атрибутами модели [Active Record](db-active-record.md). Он поддерживает проверку либо одного столбца, +либо нескольких. + +- `targetClass`: имя класса [Active Record](db-active-record.md), который должен быть использован + для проверки значения во введенных данных. Если не установлен, будет использован класс модели, которая + в данный момент проходит валидацию. +- `targetAttribute`: имя атрибута в `targetClass`, который должен быть использован для проверки на + уникальность введенного значения. Если не установлено, будет использован атрибут, проходящий валидацию + в данный момент. + Вы можете использовать массив для проверки нескольких столбцов таблицы на уникальность. Значения массива + это атрибуты, которые будут использованы для валидации, а ключи массива - это атрибуты, которые предоставляют + данные для валидации. Если ключ и значение одинаковые, вы можете указать только значение. +- `filter`: дополнительный фильтр, который можно присоединить к запросу в БД, чтобы использовать его при + проверке значения на уникальность. Это может быть строка или массив, представляющие дополнительные условия для запроса + (см. [[yii\db\Query::where()]] о формате условий в запрсое), или анонимная функция вида `function ($query)`, + где `$query` это объект [[yii\db\Query|Query]], который вы можете изменить в функции. + + +## [[yii\validators\UrlValidator|url]] + +```php +[ + // Проверяет, что "website" является корректным URL. Добавляет http:// к атрибуту "website". + // если у него нет URI схемы + ['website', 'url', 'defaultScheme' => 'http'], +] +``` + +Этот валидатор проверяет, что введенное значение является корректным URL. + +- `validSchemes`: массив с указанием на URI-схему, которая должна считаться валидной. По умолчанию `['http', 'https']`, + что означает, что и `http`, и `https` URL будут считаться валидными. +- `defaultScheme`: схема URI, которая будет присоединена к введенным данным, если она не указана в них. + По умолчанию null, что значит, что введенные данные не будут изменены. +- `enableIDN`: должна ли валидация учитывать IDN (интернационализованные доменные имена). + По умолчанию false. Учтите, что для того, чтобы IDN валидация работала корректно, вы должны установить `intl` + PHP расширение, иначе будет выброшено исключение. + From 4c395751a8ddd03890102725632176f14bf20458 Mon Sep 17 00:00:00 2001 From: Dmitry Korolev Date: Fri, 29 Aug 2014 23:47:24 +0400 Subject: [PATCH 2/3] translation fixes --- docs/guide-ru/tutorial-core-validators.md | 176 +++++++++++----------- 1 file changed, 88 insertions(+), 88 deletions(-) diff --git a/docs/guide-ru/tutorial-core-validators.md b/docs/guide-ru/tutorial-core-validators.md index d914e63214..1aca8842db 100644 --- a/docs/guide-ru/tutorial-core-validators.md +++ b/docs/guide-ru/tutorial-core-validators.md @@ -1,7 +1,7 @@ -Core Validators +Встроенные валидаторы =============== -Yii в своем ядре предоставляет набор часто используемых валидаторов, расположенных, в первую очередь, +Yii предоставляет встроенный набор часто используемых валидаторов, расположенных, в первую очередь, в пространстве имен `yii\validators`. Вместо того, чтобы использовать длинные имена классов валидаторов, вы можете использовать *псевдонимы*, чтобы указать на использование этих валидаторов. Например, вы можете использовать псевдоним `required`, чтобы сослаться на класс [[yii\validators\RequiredValidator]]: @@ -23,7 +23,7 @@ public function rules() ```php [ - // Проверяет 'selected' на соответствие 0 или 1, вне зависимости от типа данных + // Проверяет 'selected' на равенство 0 или 1, без учета типа данных ['selected', 'boolean'], // Проверяет, что "deleted" - это тип данных boolean и содержит true или false @@ -31,13 +31,13 @@ public function rules() ] ``` -Следующие валидаторы проверяют значения атрибутов для типа данных boolean +Этот валидатор проверяет, что второе значение является *boolean*. - `trueValue`: значение, соответствующее *true*. По умолчанию - `'1'`. - `falseValue`: значение, соответствующее *false*. По умолчанию - `'0'`. -- `strict`: должен ли тип данных соответствовать `trueValue` или `falseValue`. По умолчанию - `false`. +- `strict`: должна ли проверка учитывать соответствие типов данных `trueValue` или `falseValue`. По умолчанию - `false`. -> Note: Из-за того, что как правило данные, полученные из HTML-форм, представляются в виде строки, обычно вам стоит +> Примечание: Из-за того, что как правило данные, полученные из HTML-форм, представляются в виде строки, обычно вам стоит оставить свойство [[yii\validators\BooleanValidator::strict|strict]] равным false. @@ -53,10 +53,10 @@ public function rules() [[yii\captcha\Captcha|CAPTCHA]]. - `caseSensitive`: необходимо ли учитывать чувствительность к регистру при сравнении. По умолчанию - false. -- `captchaAction`: [route](structure-controllers.md#routes) соответствующий - [[yii\captcha\CaptchaAction|CAPTCHA action]], который рендерит изображение с CAPTCHA. По умолчанию - `'site/captcha'`. -- `skipOnEmpty`: может ли валидация быть пропущена, если инпут пустой. По умолчанию - false, - что означает, что input обязателен. +- `captchaAction`: [маршрут](structure-controllers.md#routes) соответствующий + [[yii\captcha\CaptchaAction|CAPTCHA действию]], который рендерит изображение с *CAPTCHA*. По умолчанию - `'site/captcha'`. +- `skipOnEmpty`: может ли валидация быть пропущена, если *input* пустой. По умолчанию - false, + что означает, что *input* обязателен. ## [[yii\validators\CompareValidator|compare]] @@ -72,20 +72,20 @@ public function rules() ``` Этот валидатор сравнивает значение указанного атрибута с другим, чтобы удостовериться, что их отношение -соответствует описанию в свойстве `operator`. +соответствует описанному в свойстве `operator`. - `compareAttribute`: имя атрибута, с которым нужно сравнить значение. Когда валидатор используется - для валидации атрибута, значением по умолчанию для этого свойства будет имя атрибута - с суффиксом `_repeat`. Например, если валидирующийся атрибут - `password`, + для проверки атрибута, значением по умолчанию для этого свойства будет имя атрибута + с суффиксом `_repeat`. Например, если проверяющийся атрибут - `password`, то значение свойства по умолчанию будет `password_repeat`. -- `compareValue`: постоянное значение, с которым будут сравниваться введенные данные. Когда одновременно указаны +- `compareValue`: постоянное значение, с которым будут сравниваться входящие данные. Когда одновременно указаны это свойство и `compareAttribute`, это свойство получит приоритет. -- `operator`: оператор сравнения. По умолчанию `==`, что означает проверку на эквивалентность введенных данных и +- `operator`: оператор сравнения. По умолчанию `==`, что означает проверку на эквивалентность входящих данных и `compareAttribute` и `compareValue`. Поддерживаются следующие операторы: * `==`: проверяет два значения на эквивалентность. Сравнение не учитывает тип данных. - * `===`: проверяет два значения на эквивалентность. Сравнение учитывает тип данных. + * `===`: проверяет два значения на эквивалентность. Сравнение строгое и учитывает тип данных. * `!=`: проверяет, что два значения не эквивалентны. Сравнение не учитывает тип данных. - * `!==`: проверяет, что два значения не эквивалентны. Сравнение учитывает тип данных. + * `!==`: проверяет, что два значения не эквивалентны. Сравнение строгое и учитывает тип данных. * `>`: проверяет, что валидируемое значение больше, чем то, с которым происходит сравнение. * `>=`: проверяет, что валидируемое значение больше или равно тому, с которым происходит сравнение. * `<`: проверяет, что валидируемое значение меньше, чем то, с которым происходит сравнение. @@ -99,22 +99,22 @@ public function rules() [['from', 'to'], 'date'], ] ``` -Этот валидатор проверяет соответствие данных форматам date, time или datetime. -Опционально, он может конвертировать введенное значение в UNIX timestamp и сохранить в атрибуте +Этот валидатор проверяет соответствие входящих данных форматам *date*, *time* или *datetime*. +Опционально, он может конвертировать входящее значение в UNIX timestamp и сохранить в атрибуте, описанном здесь: [[yii\validators\DateValidator::timestampAttribute|timestampAttribute]]. -- `format`: формат даты/времени, согласно которому должна быть сделана валидация. Чтобы узнать больше деталей - о строке форматирования, пожалуйста, посмотрите [PHP manual about date_create_from_format()](http://www.php.net/manual/en/datetime.createfromformat.php) +- `format`: формат даты/времени, согласно которому должна быть сделана проверка. Чтобы узнать больше деталей + о строке форматирования, пожалуйста, посмотрите [руководство PHP по date_create_from_format()](http://www.php.net/manual/ru/datetime.createfromformat.php) Значением по умолчанию является `'Y-m-d'`. -- `timestampAttribute`: имя атрибута, к которому данный валидатор может передать UNIX timestamp, конвентированный - из строки даты/времени +- `timestampAttribute`: имя атрибута, к которому этот валидатор может передать UNIX timestamp, конвентированный + из строки даты/времени. ## [[yii\validators\DefaultValueValidator|default]] ```php [ - // установить "age" null в качестве значения по умолчанию + // установить null для "age" в качестве значения по умолчанию ['age', 'default', 'value' => null], // установить "USA" в качестве значения по умолчанию для "country" @@ -140,20 +140,20 @@ function foo($model, $attribute) { } ``` -> Info: Определить, является значение пустым или нет, более подробно описано в отдельной статье - в секции [Empty Values](input-validation.md#handling-empty-inputs). +> Информация: Как определить, является значение пустым или нет, более подробно описано в отдельной статье + в секции [Пустые значения](input-validation.md#handling-empty-inputs). ## [[yii\validators\NumberValidator|double]] ```php [ - // проверяет, является ли "salary" числом double + // проверяет, является ли "salary" числом типа double ['salary', 'double'], ] ``` -Этот валидатор проверяет, что введенное значение является корректным double числом. Он идентичен +Этот валидатор проверяет, что входящее значение является корректным *double* числом. Он идентичен валидатору [number](#number). - `max`: верхний лимит (включительно) для значений. Если не установлен, значит, валидатор не будет проверять верхний лимит. @@ -164,13 +164,13 @@ function foo($model, $attribute) { ```php [ - // проверяет, что "email" это корректный email-адрес + // проверяет, что "email" - это корректный email-адрес ['email', 'email'], ] ``` -Валидатор проверяет, что введенное значение является корректным email-адресом. +Валидатор проверяет, что значение входящих данных является корректным email-адресом. -- `allowName`: разрешает передавать в атрибут имя (пример: `John Smith `). По умолчанию - false. +- `allowName`: можно ли передавать в атрибут имя (пример: `John Smith `). По умолчанию - false. - `checkDNS`, проверяет, существует ли доменное имя для введенного адреса (и A, и MX запись). Учтите, что проверка может закончится неудачей, что может быть вызвано временными проблемами с DNS, даже если email-адрес корректен. По умоланию - false. @@ -182,7 +182,7 @@ function foo($model, $attribute) { ```php [ - // a1 должен существовать в колонке, которая представляется атрибутом "a1" + // a1 должно существовать в столбце, который представляется атрибутом "a1" ['a1', 'exist'], // a1 должно существовать, но его значение будет использовать a2 для проверки существования @@ -202,23 +202,23 @@ function foo($model, $attribute) { ] ``` -Этот валидатор ищет введенные данные в колонке таблицы. Он работает только с атрибутами -модели [Active Record](db-active-record.md). Он поддерживает проверку либо одного столбца, либо нескольких +Этот валидатор ищет входящие данные в столбце таблицы. Он работает только с атрибутами +модели [Active Record](db-active-record.md). Он поддерживает проверку и одного столбца, и нескольких. -- `targetClass`: имя класса [Active Record](db-active-record.md), который должен будет быть использован для валидации - введенного значения. Если не установлен, будет использован класс текущей модели. -- `targetAttribute`: имя атрибута в `targetClass` который должен быть использован для валидации существования - введенного значения. Если не установлен, будет использовано имя атрибута, который валидируется в данный момент. - Вы можете использовать массив для валидации нескольких колонок одновременно. Значениями массива являются атрибуты - которые будут использованы для проверки существования, пока ключи массива будут являться атрибутами, эти значения +- `targetClass`: имя класса [Active Record](db-active-record.md), который должен будет быть использован для проверки + входящего значения. Если не установлен, будет использован класс текущей модели. +- `targetAttribute`: имя атрибута в `targetClass` который должен быть использован для проверки существования + входящего значения. Если не установлен, будет использовано имя атрибута, который валидируется в данный момент. + Вы можете использовать массив для валидации нескольких столбцов одновременно. Значения массива являются атрибутами, + которые будут использованы для проверки существования, тогда как ключи массива будут являться атрибутами, чьи значения будут проверены. Если ключ и значения одинаковы, вы можете указать только значение. - `filter`: дополнительный фильтр, который будет добавлен к запросу в базу данных для проверки на существование значения. Это может быть строка или массив, представляющие дополнительные условия в запросе (подробнее о формате значений запроса [[yii\db\Query::where()]]), или анонимной функцией с сигнатурой `function ($query)`, где `$query` - это [[yii\db\Query|Query]] объект, который вы можете модифицировать в функции. - `allowArray`: разрешать ли значению быть массивом. По умолчанию - false. Если свойство установлено в true - и введенные данные - массив, тогда каждый его элемент должен существовать в соответствующей колонке таблицы. - Помните, что это свойство не может быть установлено в true, если вы валидируете несколько колонок, передавая + и тип входящих данных - массив, тогда каждый его элемент должен существовать в соответствующем столбце таблицы. + Помните, что это свойство не может быть установлено в true, если вы валидируете несколько столбцов, передавая их в `targetAttribute` как массив. @@ -232,34 +232,34 @@ function foo($model, $attribute) { ] ``` -Этот валидатор проверяет, что инпут является валидным загруженным файлом. +Этот валидатор проверяет, что проверяемый *input* является корректным загруженным файлом. -- `extensions`: список имен расширений, которые допустимы для загрузки. это также может быть или массив, или +- `extensions`: список имен расширений, которые допустимы для загрузки. Это также может быть или массив, или строка, содержащая имена файловых расширений, разделенных пробелом или запятой (пр.: "gif, jpg"). Имя расширения не чувствительно к регистру. По умолчанию - null, что значит, что все имена файловых расширений допустимы. - `mimeTypes`: список MIME-типов которые допустимы для загрузки. Это может быть или массив, или строка, - содержащая MIME-типы файлов, разделенные пробелом или запятой (пр.: "image/jpeg, image/png"). + содержащая MIME-типы файлов, разделенные пробелом или запятой (пример: "image/jpeg, image/png"). Имена mime-типов не чувствительны к регистру. По умолачанию - null, что значит, что допустимы все MIME-типы. -- `minSize`: минимальный размер файла в байтах, допустимый для загрузки. По умолчанию - null, что значит, что нет +- `minSize`: минимальный размер файла в байтах, разрешенный для загрузки. По умолчанию - null, что значит, что нет минимального лимита. -- `maxSize`: максимальный размер файла в байтах, допустимый для загрузки. По умолчанию - null, что значит, что нет +- `maxSize`: максимальный размер файла в байтах, разрешенный для загрузки. По умолчанию - null, что значит, что нет максимального лимита. - `maxFiles`: максимальное количество файлов, которое может быть передано в атрибут. По умолчанию 1, что значит, что - инпут должен быть файлов в единственном экземпляре. Если больше, чем 1, то атрибут должен быть массивом, - состоящим из не более чем `maxFiles` загруженных файлов. + инпут должен быть файлом в единственном экземпляре. Если больше, чем 1, то атрибут должен быть массивом, + состоящим из не более, чем `maxFiles` загруженных файлов. - `checkExtensionByMimeType`: нужно ли проверять расширение файла исходя из его MIME-типа. Если они не соответствуют - друг другу, то файл будет считаться некорректным. По умолчанию true, то есть проверка будет произведена. + друг другу, то файл будет считаться некорректным. По умолчанию - true, то есть проверка будет произведена. `FileValidator` используется вместе с [[yii\web\UploadedFile]]. Пожалуйста, посмотрите раздел -[Uploading Files](input-file-upload.md) для более полного понимания загрузки и проверки файлов. +[Загрузка файлов](input-file-upload.md) для более полного понимания загрузки и проверки файлов. ## [[yii\validators\FilterValidator|filter]] ```php [ - // обрезает пробелы "username" и "email" + // обрезает пробелы вокруг "username" и "email" [['username', 'email'], 'filter', 'filter' => 'trim', 'skipOnArray' => true], // нормализует значение "phone" @@ -270,13 +270,13 @@ function foo($model, $attribute) { ] ``` -Этот валидатор не валидирует данные. Вместо этого он применяет указанный фильтр к введенному значению и +Этот валидатор не валидирует данные. Вместо этого он применяет указанный фильтр к входящему значению и присваивает результат применения фильтра атрибуту. - `filter`: PHP-callback, осуществляющий фильтрацию. Это может быть глобальная php функция, анонимная функция и т.д. Функция должна выглядеть как `function ($value) { return $newValue; }`. Это свойство обязательно должно быть установлено. -- `skipOnArray`: нужно ли пропускать валидацию, если введенным значением является массив. По умолчанию false. +- `skipOnArray`: нужно ли пропускать валидацию, если входящим значением является массив. По умолчанию - false. Помните, что если фильтр не может принимать массив, вы должны установить это значение в true. Иначе могут произойти различные ошибки PHP. @@ -294,7 +294,7 @@ function foo($model, $attribute) { ] ``` -Этот валидатор проверяет, что введенные данные являются корректным файлом изображения. Он расширяет [file](#file) +Этот валидатор проверяет, что входящие данные являются корректным файлом изображения. Он расширяет [file](#file) валидатор и наследует все его свойства. Кроме того, он поддерживает следующие дополнительные свойства, специфичные для валидации изображений: @@ -313,15 +313,15 @@ function foo($model, $attribute) { ] ``` -Этот валидатор проверяет, что введенное значение соответствует одному из значений, указанных в `range`. +Этот валидатор проверяет, что вхоящее значение соответствует одному из значений, указанных в `range`. -- `range`: список значений, с которыми будет сравниваться введенное значение. -- `strict`: должно ли сравнение введенного значения со списком значений быть строгим (учитывать тип данных) +- `range`: список значений, с которыми будет сравниваться входящее значение. +- `strict`: должно ли сравнение входящего значения со списком значений быть строгим (учитывать тип данных) По умолчанию false. -- `not`: должен ли результат валидации быть инвертирован. По умолчанию false. Если свойство установлено в true, - валидатор проверяет, что введенное значение НЕ соответсвует ни одному из значений, указанных в `range`. +- `not`: должен ли результат валидации быть инвертирован. По умолчанию - false. Если свойство установлено в true, + валидатор проверяет, что входящее значение НЕ соответсвует ни одному из значений, указанных в `range`. - `allowArray`: устанавливает, допустимо ли использовать массив в качестве входных данных. Если установлено в true - и введенные данные являются массивом, для каждого элемента введенного массива должно быть найдено соответствие в + и входящие данные являются массивом, для каждого элемента входящего массива должно быть найдено соответствие в `range`. @@ -334,7 +334,7 @@ function foo($model, $attribute) { ] ``` -Проверяет, что введенное значение является integer значением. +Проверяет, что входящее значение является integer значением. - `max`: верхний лимит (включительно) для числа. Если не установлено, валидатор не будет проверять верхний лимит. - `min`: нижний лимит (включительно) для числа. Если не установлено, валидатор не будет проверять нижний лимит. @@ -350,13 +350,13 @@ function foo($model, $attribute) { ] ``` -Этот валидатор проверяет, что введенное значение совпадает с указанным регулярным выражением. +Этот валидатор проверяет, что входящее значение совпадает с указанным регулярным выражением. -- `pattern`: регулярное выражение, с которым должно совпадать введенное значение. Это свойство должно быть установлено, +- `pattern`: регулярное выражение, с которым должно совпадать входящее значение. Это свойство должно быть установлено, иначе будет выброшено исключение. - `not`: инвертирует регулярное выражение. По умолчанию false, что значит, что валидация будет успешна - только если введенное значение совпадают с шаблоном. Если установлено в true, валидация будет успешна - только если введенное значение НЕ совпадает с шаблоном. + только если входящее значение совпадают с шаблоном. Если установлено в true, валидация будет успешна + только если входящее значение НЕ совпадает с шаблоном. ## [[yii\validators\NumberValidator|number]] @@ -368,7 +368,7 @@ function foo($model, $attribute) { ] ``` -Этот валидатор проверяет, являются ли введенные значения числовыми. Он эквивалентен валидатору [double](#double). +Этот валидатор проверяет, являются ли входящие значения числовыми. Он эквивалентен валидатору [double](#double). - `max`: верхний лимит (включительно) для числа. Если не установлено, валидатор не будет проверять верхний лимит. - `min`: нижний лимит (включительно) для числа. Если не установлено, валидатор не будет проверять нижний лимит. @@ -383,16 +383,16 @@ function foo($model, $attribute) { ] ``` -Этот валидатор проверяет, являются ли введенные значения не пустыми. +Этот валидатор проверяет, являются ли входящие значения не пустыми. -- `requiredValue`: желаемое значение, которому должны соответствовать проверемые данные. Если не установлено, +- `requiredValue`: желаемое значение, которому должны соответствовать проверямые данные. Если не установлено, это значит, что данные должны быть не пусты. -- `strict`: учитывать или нет соответствие по типу данных при валидации. - Если `requiredValue` не установлено, если это свойство установлено в true, валидатор проверит, что введенное значение +- `strict`: учитывать или нет соответствие типу данных при валидации (строгое сравнение). + Если `requiredValue` не установлено, а это свойство установлено в true, валидатор проверит, что входящее значение строго не соответствует null; если свойство установлено в false, валидатор будет проверять значение на пустоту с приведением типов. - Если `requiredValue` установлено, сравнение между введенными данными и `requiredValue` будет также учитывать тип данных - если это свойство установлено в true. + Если `requiredValue` установлено, сравнение между входящими данными и `requiredValue` будет также учитывать тип + данных, если это свойство установлено в true. > Информация: как определить, является ли значение пустым или нет, подробнее рассказывается в секции [Empty Values](input-validation.md#handling-empty-inputs). @@ -408,7 +408,7 @@ function foo($model, $attribute) { ``` Этот валидатор не проверяет данные. Вместо этого он указывает, что атрибут является -[safe attribute](structure-models.md#safe-attributes) атрибутом. +[безопасным атрибутом](structure-models.md#safe-attributes). ## [[yii\validators\StringValidator|string]] @@ -420,13 +420,13 @@ function foo($model, $attribute) { ] ``` -Этот валидатор проверяет, что введенное значение - это валидная страка с указанной длиной. +Этот валидатор проверяет, что входящее значение - это корректная строка с указанной длиной. - `length`: описывает длину для строки, проходящей валидацию. Может быть определен следующими способами: * числом: точная длина, которой должна соответствовать строка; * массив с одним элементом: минимальная длина входящей строки (напр.: `[8]`). Это перезапишет `min`. - * массив с двумя элементами: минимальная и максимальная длина введенной строки (напр.: `[8, 128]`). + * массив с двумя элементами: минимальная и максимальная длина входящей строки (напр.: `[8, 128]`). Это перезапишет и `min`, и `max`. - `min`: минимальная длина входящей строки. Если не установлено, то не будет ограничений на минимальную длину. - `max`: максимальная длина входящей строки. Если не установлено, то не будет ограничения на максимальную длину. @@ -443,8 +443,8 @@ function foo($model, $attribute) { ] ``` -Этот валидатор не производит проверки данных. Вместо этого он будет обрезать пробелы вокруг введенных данных. -Помните, что если введенные данные являются массивом, то они будут проигнорированы этим валидатором. +Этот валидатор не производит проверки данных. Вместо этого он будет обрезать пробелы вокруг входящих данных. +Помните, что если вхоядщие данные являются массивом, то они будут проигнорированы этим валидатором. ## [[yii\validators\UniqueValidator|unique]] @@ -454,7 +454,7 @@ function foo($model, $attribute) { // a1 должен быть уникальным в столбце, который представляет "a1" атрибут ['a1', 'unique'], - // a1 должен быть уникальным, но будет использована столбец a2 для проверки уникальности значения a1 + // a1 должен быть уникальным, но будет использован столбец a2 для проверки уникальности значения a1 ['a1', 'unique', 'targetAttribute' => 'a2'], // a1 и a2 вместе должны быть уникальны, и они оба будут получать сообщения об ошибке @@ -469,15 +469,15 @@ function foo($model, $attribute) { ] ``` -Этот валидатор проверяет введенные данные на уникальность в столбце таблицы. Он работает только с +Этот валидатор проверяет входящие данные на уникальность в столбце таблицы. Он работает только с атрибутами модели [Active Record](db-active-record.md). Он поддерживает проверку либо одного столбца, либо нескольких. - `targetClass`: имя класса [Active Record](db-active-record.md), который должен быть использован - для проверки значения во введенных данных. Если не установлен, будет использован класс модели, которая + для проверки значения во входящих данных. Если не установлен, будет использован класс модели, которая в данный момент проходит валидацию. - `targetAttribute`: имя атрибута в `targetClass`, который должен быть использован для проверки на - уникальность введенного значения. Если не установлено, будет использован атрибут, проходящий валидацию + уникальность входящего значения. Если не установлено, будет использован атрибут, проходящий валидацию в данный момент. Вы можете использовать массив для проверки нескольких столбцов таблицы на уникальность. Значения массива это атрибуты, которые будут использованы для валидации, а ключи массива - это атрибуты, которые предоставляют @@ -498,13 +498,13 @@ function foo($model, $attribute) { ] ``` -Этот валидатор проверяет, что введенное значение является корректным URL. +Этот валидатор проверяет, что входящее значение является корректным URL. -- `validSchemes`: массив с указанием на URI-схему, которая должна считаться валидной. По умолчанию `['http', 'https']`, - что означает, что и `http`, и `https` URL будут считаться валидными. -- `defaultScheme`: схема URI, которая будет присоединена к введенным данным, если она не указана в них. - По умолчанию null, что значит, что введенные данные не будут изменены. +- `validSchemes`: массив с указанием на URI-схему, которая должна считаться корректной. По умолчанию + `['http', 'https']`, что означает, что и `http`, и `https` URL будут считаться корректными. +- `defaultScheme`: схема URI, которая будет присоединена к входящим данным, если в них отсутствует URI-схема. + По умолчанию null, что значит, что входящие данные не будут изменены. - `enableIDN`: должна ли валидация учитывать IDN (интернационализованные доменные имена). - По умолчанию false. Учтите, что для того, чтобы IDN валидация работала корректно, вы должны установить `intl` + По умолчанию - false. Учтите, что для того, чтобы IDN валидация работала корректно, вы должны установить `intl` PHP расширение, иначе будет выброшено исключение. From 6913410e0804d4e7edda08f8d2c999da36a814f5 Mon Sep 17 00:00:00 2001 From: Dmitry Korolev Date: Sat, 30 Aug 2014 00:25:36 +0400 Subject: [PATCH 3/3] small translation fixes --- docs/guide-ru/tutorial-core-validators.md | 78 ++++++++++++----------- 1 file changed, 40 insertions(+), 38 deletions(-) diff --git a/docs/guide-ru/tutorial-core-validators.md b/docs/guide-ru/tutorial-core-validators.md index 1aca8842db..6e86d59a04 100644 --- a/docs/guide-ru/tutorial-core-validators.md +++ b/docs/guide-ru/tutorial-core-validators.md @@ -53,8 +53,8 @@ public function rules() [[yii\captcha\Captcha|CAPTCHA]]. - `caseSensitive`: необходимо ли учитывать чувствительность к регистру при сравнении. По умолчанию - false. -- `captchaAction`: [маршрут](structure-controllers.md#routes) соответствующий - [[yii\captcha\CaptchaAction|CAPTCHA действию]], который рендерит изображение с *CAPTCHA*. По умолчанию - `'site/captcha'`. +- `captchaAction`: [маршрут](structure-controllers.md#routes), соответствующий + [[yii\captcha\CaptchaAction|CAPTCHA action]], который рендерит изображение с *CAPTCHA*. По умолчанию - `'site/captcha'`. - `skipOnEmpty`: может ли валидация быть пропущена, если *input* пустой. По умолчанию - false, что означает, что *input* обязателен. @@ -75,13 +75,13 @@ public function rules() соответствует описанному в свойстве `operator`. - `compareAttribute`: имя атрибута, с которым нужно сравнить значение. Когда валидатор используется - для проверки атрибута, значением по умолчанию для этого свойства будет имя атрибута + для проверки атрибута, значением по умолчанию для этого свойства будет имя этого же атрибута с суффиксом `_repeat`. Например, если проверяющийся атрибут - `password`, то значение свойства по умолчанию будет `password_repeat`. - `compareValue`: постоянное значение, с которым будут сравниваться входящие данные. Когда одновременно указаны это свойство и `compareAttribute`, это свойство получит приоритет. -- `operator`: оператор сравнения. По умолчанию `==`, что означает проверку на эквивалентность входящих данных и - `compareAttribute` и `compareValue`. Поддерживаются следующие операторы: +- `operator`: оператор сравнения. По умолчанию `==`, что означает проверку на эквивалентность входящих данных и в + `compareAttribute`, и в `compareValue`. Поддерживаются следующие операторы: * `==`: проверяет два значения на эквивалентность. Сравнение не учитывает тип данных. * `===`: проверяет два значения на эквивалентность. Сравнение строгое и учитывает тип данных. * `!=`: проверяет, что два значения не эквивалентны. Сравнение не учитывает тип данных. @@ -103,10 +103,10 @@ public function rules() Опционально, он может конвертировать входящее значение в UNIX timestamp и сохранить в атрибуте, описанном здесь: [[yii\validators\DateValidator::timestampAttribute|timestampAttribute]]. -- `format`: формат даты/времени, согласно которому должна быть сделана проверка. Чтобы узнать больше деталей - о строке форматирования, пожалуйста, посмотрите [руководство PHP по date_create_from_format()](http://www.php.net/manual/ru/datetime.createfromformat.php) +- `format`: формат даты/времени, согласно которому должна быть сделана проверка. Чтобы узнать больше о формате + строки, пожалуйста, посмотрите [руководство PHP по date_create_from_format()](http://www.php.net/manual/ru/datetime.createfromformat.php) Значением по умолчанию является `'Y-m-d'`. -- `timestampAttribute`: имя атрибута, к которому этот валидатор может передать UNIX timestamp, конвентированный +- `timestampAttribute`: имя атрибута, которому этот валидатор может передать UNIX timestamp, конвентированный из строки даты/времени. @@ -127,11 +127,11 @@ public function rules() ] ``` -Этот валидатор не проверяет данные. Вместо этого он присваивает значения по умолчанию атрибутам, проходящим -валидацию, если эти атрибуты пусты. +Этот валидатор не проверяет данные. Вместо этого он присваивает значения по умолчанию проходящим проверку +атрибутам, если они пусты. -- `value`: значение по умолчанию или функция обратного вызова PHP, которая возвращает значение по умолчанию, - которое будет присвоино проверяемому атрибуту, если он пустой. Функция обратного вызова должна выглядеть так: +- `value`: значение по умолчанию или функция обратного вызова, которая возвращает значение по умолчанию, + которое будет присвоено проверяемому атрибуту, если он пустой. Функция обратного вызова должна выглядеть так: ```php function foo($model, $attribute) { @@ -154,7 +154,7 @@ function foo($model, $attribute) { ``` Этот валидатор проверяет, что входящее значение является корректным *double* числом. Он идентичен -валидатору [number](#number). +валидатору [number](#number). (Прим. пер.: корректным float числом). - `max`: верхний лимит (включительно) для значений. Если не установлен, значит, валидатор не будет проверять верхний лимит. - `min`: Нижний лимит (включительно) для значений. Если не установлен, валидатор не будет проверять нижний лимит. @@ -197,7 +197,7 @@ function foo($model, $attribute) { // a1 требует проверки существования a2 и a3 (используя значение a1) ['a1', 'exist', 'targetAttribute' => ['a2', 'a1' => 'a3']], - // a1 должен существовать. Если a1 является массивом, тогда каждый его элемент должен существовать + // a1 должен существовать. Если a1 - массив, то каждый его элемент должен существовать ['a1', 'exist', 'allowArray' => true], ] ``` @@ -205,16 +205,16 @@ function foo($model, $attribute) { Этот валидатор ищет входящие данные в столбце таблицы. Он работает только с атрибутами модели [Active Record](db-active-record.md). Он поддерживает проверку и одного столбца, и нескольких. -- `targetClass`: имя класса [Active Record](db-active-record.md), который должен будет быть использован для проверки +- `targetClass`: имя класса [Active Record](db-active-record.md), который должен быть использован для проверки входящего значения. Если не установлен, будет использован класс текущей модели. - `targetAttribute`: имя атрибута в `targetClass` который должен быть использован для проверки существования - входящего значения. Если не установлен, будет использовано имя атрибута, который валидируется в данный момент. + входящего значения. Если не установлен, будет использовано имя атрибута, который проверяется в данный момент. Вы можете использовать массив для валидации нескольких столбцов одновременно. Значения массива являются атрибутами, которые будут использованы для проверки существования, тогда как ключи массива будут являться атрибутами, чьи значения будут проверены. Если ключ и значения одинаковы, вы можете указать только значение. - `filter`: дополнительный фильтр, который будет добавлен к запросу в базу данных для проверки на существование значения. Это может быть строка или массив, представляющие дополнительные условия в запросе (подробнее о формате - значений запроса [[yii\db\Query::where()]]), или анонимной функцией с сигнатурой `function ($query)`, + значений запроса: [[yii\db\Query::where()]]), или анонимная функция с сигнатурой `function ($query)`, где `$query` - это [[yii\db\Query|Query]] объект, который вы можете модифицировать в функции. - `allowArray`: разрешать ли значению быть массивом. По умолчанию - false. Если свойство установлено в true и тип входящих данных - массив, тогда каждый его элемент должен существовать в соответствующем столбце таблицы. @@ -232,7 +232,7 @@ function foo($model, $attribute) { ] ``` -Этот валидатор проверяет, что проверяемый *input* является корректным загруженным файлом. +Этот валидатор проверяет, что input является корректным загруженным файлом. - `extensions`: список имен расширений, которые допустимы для загрузки. Это также может быть или массив, или строка, содержащая имена файловых расширений, разделенных пробелом или запятой (пр.: "gif, jpg"). @@ -246,7 +246,7 @@ function foo($model, $attribute) { - `maxSize`: максимальный размер файла в байтах, разрешенный для загрузки. По умолчанию - null, что значит, что нет максимального лимита. - `maxFiles`: максимальное количество файлов, которое может быть передано в атрибут. По умолчанию 1, что значит, что - инпут должен быть файлом в единственном экземпляре. Если больше, чем 1, то атрибут должен быть массивом, + input должен быть файлом в единственном экземпляре. Если больше, чем 1, то атрибут должен быть массивом, состоящим из не более, чем `maxFiles` загруженных файлов. - `checkExtensionByMimeType`: нужно ли проверять расширение файла исходя из его MIME-типа. Если они не соответствуют друг другу, то файл будет считаться некорректным. По умолчанию - true, то есть проверка будет произведена. @@ -270,7 +270,7 @@ function foo($model, $attribute) { ] ``` -Этот валидатор не валидирует данные. Вместо этого он применяет указанный фильтр к входящему значению и +Этот валидатор не проверяет данные. Вместо этого он применяет указанный фильтр к входящему значению и присваивает результат применения фильтра атрибуту. - `filter`: PHP-callback, осуществляющий фильтрацию. Это может быть глобальная php функция, анонимная функция @@ -316,9 +316,9 @@ function foo($model, $attribute) { Этот валидатор проверяет, что вхоящее значение соответствует одному из значений, указанных в `range`. - `range`: список значений, с которыми будет сравниваться входящее значение. -- `strict`: должно ли сравнение входящего значения со списком значений быть строгим (учитывать тип данных) +- `strict`: должно ли сравнение входящего значения со списком значений быть строгим (учитывать тип данных). По умолчанию false. -- `not`: должен ли результат валидации быть инвертирован. По умолчанию - false. Если свойство установлено в true, +- `not`: должен ли результат проверки быть инвертирован. По умолчанию - false. Если свойство установлено в true, валидатор проверяет, что входящее значение НЕ соответсвует ни одному из значений, указанных в `range`. - `allowArray`: устанавливает, допустимо ли использовать массив в качестве входных данных. Если установлено в true и входящие данные являются массивом, для каждого элемента входящего массива должно быть найдено соответствие в @@ -344,8 +344,8 @@ function foo($model, $attribute) { ```php [ - // проверяет, что "username" начинается с буквы и содержит только буквенные символы, цифровые и - // знак подчеркивания + // проверяет, что "username" начинается с буквы и содержит только буквенные символы, + // числовые символы и знак подчеркивания ['username', 'match', 'pattern' => '/^[a-z]\w*$/i'] ] ``` @@ -354,8 +354,8 @@ function foo($model, $attribute) { - `pattern`: регулярное выражение, с которым должно совпадать входящее значение. Это свойство должно быть установлено, иначе будет выброшено исключение. -- `not`: инвертирует регулярное выражение. По умолчанию false, что значит, что валидация будет успешна - только если входящее значение совпадают с шаблоном. Если установлено в true, валидация будет успешна +- `not`: инвертирует регулярное выражение. По умолчанию false, что значит, что валидация будет успешна, + только если входящее значение совпадают с шаблоном. Если установлено в true, валидация будет успешна, только если входящее значение НЕ совпадает с шаблоном. @@ -395,7 +395,7 @@ function foo($model, $attribute) { данных, если это свойство установлено в true. > Информация: как определить, является ли значение пустым или нет, подробнее рассказывается - в секции [Empty Values](input-validation.md#handling-empty-inputs). + в секции [Пустые значения](input-validation.md#handling-empty-inputs). ## [[yii\validators\SafeValidator|safe]] @@ -415,7 +415,7 @@ function foo($model, $attribute) { ```php [ - // проверяет, что "username" это страка с длиной от 4 до 24 символов + // проверяет, что "username" это строка с длиной от 4 до 24 символов ['username', 'string', 'length' => [4, 24]], ] ``` @@ -428,10 +428,10 @@ function foo($model, $attribute) { * массив с одним элементом: минимальная длина входящей строки (напр.: `[8]`). Это перезапишет `min`. * массив с двумя элементами: минимальная и максимальная длина входящей строки (напр.: `[8, 128]`). Это перезапишет и `min`, и `max`. -- `min`: минимальная длина входящей строки. Если не установлено, то не будет ограничений на минимальную длину. +- `min`: минимальная длина входящей строки. Если не установлено, то не будет ограничения на минимальную длину. - `max`: максимальная длина входящей строки. Если не установлено, то не будет ограничения на максимальную длину. - `encoding`: кодировка входящей строки. Если не установлено, будет использовано значение из - [[yii\base\Application::charset|charset]], которое по умолачнию установлено в `UTF-8`. + [[yii\base\Application::charset|charset]], которое по умолчанию установлено в `UTF-8`. ## [[yii\validators\FilterValidator|trim]] @@ -444,7 +444,7 @@ function foo($model, $attribute) { ``` Этот валидатор не производит проверки данных. Вместо этого он будет обрезать пробелы вокруг входящих данных. -Помните, что если вхоядщие данные являются массивом, то они будут проигнорированы этим валидатором. +Помните, что если входящие данные являются массивом, то они будут проигнорированы этим валидатором. ## [[yii\validators\UniqueValidator|unique]] @@ -454,10 +454,12 @@ function foo($model, $attribute) { // a1 должен быть уникальным в столбце, который представляет "a1" атрибут ['a1', 'unique'], - // a1 должен быть уникальным, но будет использован столбец a2 для проверки уникальности значения a1 + // a1 должен быть уникальным, но для проверки на уникальность + // будет использован столбец a2 ['a1', 'unique', 'targetAttribute' => 'a2'], - // a1 и a2 вместе должны быть уникальны, и они оба будут получать сообщения об ошибке + // a1 и a2 вместе должны быть уникальны, и каждый из них + // будет получать сообщения об ошибке [['a1', 'a2'], 'unique', 'targetAttribute' => ['a1', 'a2']], // a1 и a2 вместе должны быть уникальны, но только a1 будет получать сообщение об ошибке @@ -475,16 +477,16 @@ function foo($model, $attribute) { - `targetClass`: имя класса [Active Record](db-active-record.md), который должен быть использован для проверки значения во входящих данных. Если не установлен, будет использован класс модели, которая - в данный момент проходит валидацию. + в данный момент проходит проверку. - `targetAttribute`: имя атрибута в `targetClass`, который должен быть использован для проверки на - уникальность входящего значения. Если не установлено, будет использован атрибут, проходящий валидацию + уникальность входящего значения. Если не установлено, будет использован атрибут, проверяемый в данный момент. - Вы можете использовать массив для проверки нескольких столбцов таблицы на уникальность. Значения массива + Вы можете использовать массив для проверки нескольких столбцов таблицы на уникальность. Значения массива - это атрибуты, которые будут использованы для валидации, а ключи массива - это атрибуты, которые предоставляют данные для валидации. Если ключ и значение одинаковые, вы можете указать только значение. - `filter`: дополнительный фильтр, который можно присоединить к запросу в БД, чтобы использовать его при проверке значения на уникальность. Это может быть строка или массив, представляющие дополнительные условия для запроса - (см. [[yii\db\Query::where()]] о формате условий в запрсое), или анонимная функция вида `function ($query)`, + (см. [[yii\db\Query::where()]] о формате условий в запросе), или анонимная функция вида `function ($query)`, где `$query` это объект [[yii\db\Query|Query]], который вы можете изменить в функции. @@ -501,7 +503,7 @@ function foo($model, $attribute) { Этот валидатор проверяет, что входящее значение является корректным URL. - `validSchemes`: массив с указанием на URI-схему, которая должна считаться корректной. По умолчанию - `['http', 'https']`, что означает, что и `http`, и `https` URL будут считаться корректными. + `['http', 'https']`, что означает, что и `http`, и `https` URI будут считаться корректными. - `defaultScheme`: схема URI, которая будет присоединена к входящим данным, если в них отсутствует URI-схема. По умолчанию null, что значит, что входящие данные не будут изменены. - `enableIDN`: должна ли валидация учитывать IDN (интернационализованные доменные имена).