Задать вопрос
des1roer
@des1roer
ученье - свет, а неученье - приятный полумрак

Yii как динамически менять валидацию?

Есть вводимое поле. Предположим оно может быть сначала числовым, а затем текстовым. Как проверять что вводит пользователь?
  • Вопрос задан
  • 176 просмотров
Подписаться 1 Оценить Комментировать
Помогут разобраться в теме Все курсы
  • teamcoding
    TC200PY Разработка PHP веб-приложений на Yii2. Шаблон приложения advanced
    3 месяца
    Далее
  • Onskills
    PHP: базовый курс
    1 месяц
    Далее
  • FructCode
    Yii2 Фреймворк
    2 месяца
    Далее
Пригласить эксперта
Ответы на вопрос 2
@Akellacom
CTO
Используйте сценарии в Yii или пишите свое правило для валидации

Вот информация по сценариям и валидации:
reposlav.ru/yii2-model-rules
coderlife.eu/php/yii2-scenarios.html
habrahabr.ru/post/146589
Ответ написан
Комментировать
butteff
@butteff
Раз в тысячу лет заправляю свитер в носки
Напишите свое правило валидации, примерно так:

public function rules() {
	return [
		['input', 'required'],
		['input', function($attribute, $params) {
			if (is_integer($this->$attribute)) {
 				//если число
 				if ($this->attribute < 10) {
 					return $this->addError($attribute, 'Число должно быть больше 10');
 				}
			}

			if (is_string($this->$attribute)) {
				//ecли строка
			}			
	}],
];
}
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы