В приложение/модели/модели это подтверждает(Yii2) RangeValidator проверки правильности
//simulating incorrect user input
//$model->status='some-string';
public function rules()
{
return [
['status', 'in', 'range' => [0]], //asserts true (why?)
//['status', 'in', 'range' => [0], 'strict' => true], //asserts false (correct)
];
}
EDIT: Я обновил этот вопрос, чтобы отразить новые идеи.
Протестировано и работает с постоянным. –
похоже на проблему нет в этом коде –
Хум, кажется, что если $ model-> status вводится как «некоторая строка», валидатор будет утверждать, что равен 0, если не используется строгий режим. Таким образом, проблема заключается не в константе, а в сравнении. – Decimoseptimo