Alterator/module/types
Материал из ALT Linux Wiki
(Новая: === Типы параметров === Иногда необходимо производить валидацию введённых пользователем данных. Можно ...)
Следующая правка →
Версия 13:37, 24 октября 2008
Типы параметров
Иногда необходимо производить валидацию введённых пользователем данных. Можно это делать в бакенде, но гораздо удобнее назначить параметрам типы. В этом случае проверка будет происходить автоматически до передачи данных в бакенд.
Изменения в бакенде
Делается это следующим образом. В бакенде добавляется ответ на запрос типа "type". В ответе перечисляются параметры, с которыми работает бакенд, и их типы. Для формирования правильного ответа стоит воспользоваться стандартной библиотекой, например для бакенда на shell объявление типов будет выглядить следующим образом.
. alterator-sh-functions on_message() { case "$in_action" in type) write_type_item a ipv4-address write_type_item b tcp-port ;; read) ... esac }
В примере выше объявлено что параметр 'a' будет иметь тип 'IP адрес', 'b' - 'TCP порт' и теперь пользователь не сможет передать в бакенд в качестве 'a' что-либо отличное IP адреса и в качестве 'b' что-либо отличное от целого числа находящегося в определённом диапазоне.