You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: docs/guide-ru/input-validation.md
+7-5
Original file line number
Diff line number
Diff line change
@@ -358,8 +358,8 @@ class MyForm extends Model
358
358
359
359
public function validateCountry($attribute, $params)
360
360
{
361
-
if (!in_array($this->$attribute, ['USA', 'Web'])) {
362
-
$this->addError($attribute, 'Страна должна быть либо "USA" или "Web".');
361
+
if (!in_array($this->$attribute, ['USA', 'Indonesia'])) {
362
+
$this->addError($attribute, 'Страна должна быть либо "USA" или "Indonesia".');
363
363
}
364
364
}
365
365
}
@@ -384,7 +384,9 @@ class MyForm extends Model
384
384
Вы можете реализовать свою логику проверки путем переопределения метода
385
385
[[yii\validators\Validator::validateAttribute()]]. Если атрибут не прошел проверку, вызвать
386
386
[[yii\base\Model::addError()]],
387
-
чтобы сохранить сообщение об ошибке в модели, как это делают [встроенные валидаторы](#inline-validators). Например:
387
+
чтобы сохранить сообщение об ошибке в модели, как это делают [встроенные валидаторы](#inline-validators).
388
+
389
+
Валидация может быть помещена в отдельный класс [[components/validators/CountryValidator]]. В этом случае можно использовать метод [[yii\validators\Validator::addError()]] для того, чтобы добавить своё сообщение об ошибке в модель:
388
390
389
391
```php
390
392
namespace app\components;
@@ -395,8 +397,8 @@ class CountryValidator extends Validator
395
397
{
396
398
public function validateAttribute($model, $attribute)
397
399
{
398
-
if (!in_array($model->$attribute, ['USA', 'Web'])) {
399
-
$this->addError($model, $attribute, 'Страна должна быть либо "USA" или "Web".');
400
+
if (!in_array($model->$attribute, ['USA', 'Indonesia'])) {
401
+
$this->addError($model, $attribute, 'Страна должна быть либо "{country1}" либо "{country2}".', ['country1' => 'USA', 'country2' => 'Indonesia']);
0 commit comments