Запишите ограничение для проверки поля на основе значения, введенного в другом поле в Orbeon Form Builder - PullRequest
1 голос
/ 12 июня 2011

Я хочу проверить размер поля номера телефона на основе выбора, сделанного в поле Тип телефона.Сотовые номера должны быть размером 10, Домашний и рабочий номера должны быть размером 11.Как бы я написал выражение ограничения в Orbeon Form Builder.Я попытался использовать if в поле ограничений, но безуспешно.

Спасибо за помощь!

1 Ответ

2 голосов
/ 13 июня 2011

Допустим, у вас есть два элемента управления: тип телефона и номер телефона.

  1. Создайте тип телефона , например, в виде раскрывающегося списка или переключателей. Дайте ему имя, щелкнув по зубчатому колесу, чтобы открыть Редактировать данные управления . Скажите, что это имя phone-type. Позже вы будете ссылаться на значение, выбранное пользователями как $phone-type.
  2. Отредактируйте элементы и имейте в виду значение, которое вы присваиваете каждому элементу. Значение - это то, что вы будете использовать позже, а метка - это то, что отображается для конечных пользователей в форме. Скажем, значения work и mobile.
  3. Создайте однострочный элемент управления (текстовое поле), щелкните красный восклицательный знак, чтобы открыть диалоговое окно Изменить свойства проверки , и там, под Ограничение , введите

    string-length(.) = (if ($phone-type = 'work') then 11 else 10)

...