Здравствуйте!
Очень интересная ситуация складывается со свойствами инфоблока:
казалось бы, у нас есть 6 базовых типов свойств, причем для некоторых вполне очевидна необходимость проверки данных на соответствие типу:
в поле с числом не должно быть возможно вписать строку, а привязка к элементу ни в коем случае не должна привязываться к заведомо несуществующему элементу.
Что же имеем по факту? И в поле типа "Число", и в поле типа "Привязка к элементу" (требуется ввести числовой ID элемента) можно вписать абсолютно любой текст и движок вполне спокойно и добропорядочно его сохранит, даже не тронув некорректные данные. Таким образом, в числе и в привязке у нас может храниться краткий пересказ "Войны и Мира" и даже админка не скажет нам ни слова против, не говоря уж об API.
Итак, центральный вопрос, почему же отсутствует элементарная серверная валидация таких очевидных типов свойств?
Понятное дело, что можно реализовать все на событиях добавления/обновления инфоблока или даже переопределить базовые свойства и уже в собственном коде реализовать проверку данных на соответствие типу, но почему УС не предоставляет этот функционал из коробки?
Очень интересная ситуация складывается со свойствами инфоблока:
казалось бы, у нас есть 6 базовых типов свойств, причем для некоторых вполне очевидна необходимость проверки данных на соответствие типу:
в поле с числом не должно быть возможно вписать строку, а привязка к элементу ни в коем случае не должна привязываться к заведомо несуществующему элементу.
Что же имеем по факту? И в поле типа "Число", и в поле типа "Привязка к элементу" (требуется ввести числовой ID элемента) можно вписать абсолютно любой текст и движок вполне спокойно и добропорядочно его сохранит, даже не тронув некорректные данные. Таким образом, в числе и в привязке у нас может храниться краткий пересказ "Войны и Мира" и даже админка не скажет нам ни слова против, не говоря уж об API.
Итак, центральный вопрос, почему же отсутствует элементарная серверная валидация таких очевидных типов свойств?
Понятное дело, что можно реализовать все на событиях добавления/обновления инфоблока или даже переопределить базовые свойства и уже в собственном коде реализовать проверку данных на соответствие типу, но почему УС не предоставляет этот функционал из коробки?