Pull to refresh

Comments 7

По дефолту laravel преобразует пустую (или состоящую только из пробельных символов) к null. Это поведение не всегда подходит. Если же его отключить, то правила валидации не срабатывают на пустые строки (которые до этого автоматически преобразовывались к null).

Почему это не подходит? null это ничего, пустая строка это тоже ничего

Например по дефолту (без выключения нормализации), когда приходит json

{"field": ""}

И мы делаем $model.fill($validated) а field при этом не nullable - мы получим ошибку.

Да и вообще, ситуации, когда нужно различать пустые строки, null и, например, 0 - существуют.

Да и вообще, ситуации, когда нужно различать пустые строки, null и, например, 0 - существуют.

И довольно часто встречаются. Как раз по этой причине на собеседованиях нередко можно услышать вопрос: "Что проверяет empty()".

null это ничего, пустая строка это тоже ничего

Между null и пустой строкой есть разница. Обычно, она применяется для таких сценариев:

Null - когда значение в переменную ещё никакой код не устанавливал. То есть значение не установлено.

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

Sign up to leave a comment.

Articles