VK Video
Какой параметр блокирует изменение поля?
block: true
Это блокировка на стороне сервера или на клиенте?
Эта блокировка на клиенте — если человек знает JS
, то он сможет отправить значение в обход этой блокировки.
Поэтому блокировки через форматирование являются нежесткими
.
Про жесткие
блокировки на стороне сервера будет позже. Блокировки форматированием — это защита от ошибки пальцев.
Как разблокировать поле при заблокированной строке?
Если у вас заблокирована строка через код форматирования строки, то если в поле будет указано block: false
— то поле будет разблокировано.
Форматирование полей имеет преимущество перед форматированием строк.
Поле блокируется только на изменение или на добавление тоже?
При передаче block: true
поле блокируется как наизменение, так и в процессе добавления.
Как заблокировать поле только при добавлении?
У строки добавления нет id
, поэтому:
f1=: setFormat(condition: #id = ""; block: true)
Как заблокировать поле для роли или пользователя?
Есть две быстрые переменные возвращающие номер роли или номер пользователя:
$#nr
— (от now roles) возвращает список из номеров ролей пользователя.
$#nu
— (от now user) возвращает номер пользователя в таблице пользователей.
Например заблокировать в строке добавления только для роли 2
:
f1=: setFormat(condition: #id = ""; condition: $#nr = 1; block: true)
Например заблокировать для всех при статусе 3
и разблокировать для пользователя 10
:
f1=: setFormat(condition: #status = 3; block: true)
f2=: setFormat(condition: $#nu = 10; block: false)