У меня есть настраиваемый элемент управления для редактируемого поля, а проверка выполняется через java bean. Я хочу, чтобы установить свойство IsValid(), чтобы установить загрузочный стиль, как так:Xpages: проверка с использованием java bean с несколькими экземплярами настраиваемого элемента управления
Однако, это не работает, если я помещаю куб.см на странице несколько раз, потому что я ищу на Компонента ID для установки свойства Valid.
Мне нужно либо вычислить идентификатор поля в CC, либо сделать что-то еще подобное post describes.
Я считаю, что я могу вычислить идентификатор текстового поля следующим образом:
<xp:inputText
id="${javascript:compositeData.fieldName}"
type="text"
loaded="${!empty compositeData.placeholder}"
required="${compositeData.required}"
disableClientSideValidation="true">
<xp:this.attrs>
<xp:attr
name="placeholder"
value="${compositeData.placeholder}" />
</xp:this.attrs>
<xp:this.binding><![CDATA[#{javascript:compositeData.dataSource[compositeData.fieldName]}]]></xp:this.binding>
</xp:inputText>
Однако, есть несколько мест, где мне нужно вычислить компонент, такие как
<xp:this.styleClass><![CDATA[#{javascript:"form-group" + (getComponent("inputText1").isValid() ? "" : " has-error")}]]></xp:this.styleClass>
I должны заменить «inputText1» на вычисленный ID, но не можете понять, как это сделать.
Есть ли лучший/более простой способ?
Говард, это было именно то, что я пытался сделать, но не смог правильно получить синтаксис. Спасибо за Ваш ответ! –