Ошибка проверки строки Laravel на «True» и «False» - PullRequest
0 голосов
/ 25 октября 2019

Недавно до меня дошло, что использование следующих валидаторов в laravel не работает для ввода типа Boolean, такого как «True» или «False». Хотя я посмеялся над этим, мне интересно, есть ли способчтобы валидатор строк принимал «True» или «False»

        'first_name'               => 'sometimes|required|string|max:255',
        'last_name'                => 'sometimes|required|string|max:255',

Если я удаляю валидацию, в результате сохраняется «True» как 1 и «False как« 0 »в базе данных.

enter image description here

Ответы [ 2 ]

0 голосов
/ 25 октября 2019

Протестировано с почтальоном. Это похоже на проблему laravel / php.

enter image description here

Похоже, проблема заключалась в устаревшем промежуточном программном обеспечении, преобразовавшем логическое значениестроки в логические значения.

0 голосов
/ 25 октября 2019

Ну, входы хранятся в виде строк. Если вы используете ===, то вы можете никогда не найти способ заставить это работать. Тем не менее, вы можете использовать ==. См. Первые две строки в таблице . Разница в том, что == пробует разные типы, поэтому он преобразует тип первой переменной в зарегистрированный тип второй переменной, в то время как === не меняет типы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...