Общие характеристики
Все типы данных наследуются от базового типа, представленного классом ModelElement, файл core/datatypes/base.type.php и имеют следующие дополнительные параметры:
required
Назначение: делает данное поле обязательным для заполнения при создании/редактировании записи
Возможные значения: true, false
По умолчанию: false
unique
Назначение: позволяет поддерживать уникальные значения данного поля в таблице при создании/редактировании записей
Возможные значения: true, false
По умолчанию: false
must_match
Назначение: используется в формах для того, чтобы значение совпадало со значением другого (обычно для паролей)
Возможные значения: название поля из данной модели, например 'name', 'password'
По умолчанию: не задан
help_text
Назначение: текст с пояснениями для данного поля в административной части (также может использоваться и в шаблонах сайта)
Возможные значения: текст
По умолчанию: не задан
html_params
Назначение: дополнительные html параметры для данного поля в административном интерфейсе (класс, размеры, и пр.)
Возможные значения: текст, html атрибуты
По умолчанию: не задан
Для всех строковых типов актуальны параметры минимальной и максимальной длины.
length
Назначение: точная требуемая длина поля (в символах utf-8)
Возможные значения: целое положительное число
По умолчанию: не задан
min_length
Назначение: минимальная длина поля (в символах utf-8)
Возможные значения: целое положительное число
По умолчанию: не задан
max_length
Назначение: максимальная длина поля (в символах utf-8)
Возможные значения: целое положительное число
По умолчанию: не задан
min_max_length
Назначение: минимальная и максимальная длина поля (в символах utf-8)
Возможные значения: строковое значение в виде 2 целых положительных чисел, разделенных ','
По умолчанию: не задан
Примеры:
['Название', 'char', 'name', ['required' => true]]
['Файл', 'file', 'file_price', ['help_text' => 'Файл для скачивания в формате .pdf']]
['Ссылка', 'url', 'link', ['required' => true, 'unique' => true]]
['Текст', 'text', 'content', ['html_params' => 'class="wide" id="main-content"']]
['Повтор пароля', 'password', 'repeat-password', ['required' => true, 'must_match' => 'new_password']]