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

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

Есть вводимое поле. Предположим оно может быть сначала числовым, а затем текстовым. Как проверять что вводит пользователь?
  • Вопрос задан
  • 175 просмотров
Пригласить эксперта
Ответы на вопрос 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ли строка
			}			
	}],
];
}
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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