Xpages:使用具有多个自定义控件实例的 java bean 进行验证
Xpages: Validation using java bean with multiple instances of a custom control
我有一个可编辑字段的自定义控件,验证是通过 java bean 完成的。我想设置 isValid() 属性 来设置 bootstrap 样式,如下所示:
但是,如果我在一个页面上多次放置抄送,这将不起作用,因为我正在搜索组件的 ID 以设置有效 属性。
我需要计算 CC 中字段的 ID,或者做类似这样的事情 post describes。
我相信我可以像这样计算文本字段的 ID:
<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>
我必须用计算出的 ID 替换 "inputText1",但不知道该怎么做。
有better/easier方法吗?
为什么不在引用 ID 的所有地方都使用 compositeData.fieldName?
<xp:this.styleClass><![CDATA[#{javascript:"form-group" + (getComponent(compositeData.fieldName).isValid() ? "" : " has-error" )}]]></xp:this.styleClass>
我有一个可编辑字段的自定义控件,验证是通过 java bean 完成的。我想设置 isValid() 属性 来设置 bootstrap 样式,如下所示:
但是,如果我在一个页面上多次放置抄送,这将不起作用,因为我正在搜索组件的 ID 以设置有效 属性。
我需要计算 CC 中字段的 ID,或者做类似这样的事情 post describes。
我相信我可以像这样计算文本字段的 ID:
<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>
我必须用计算出的 ID 替换 "inputText1",但不知道该怎么做。
有better/easier方法吗?
为什么不在引用 ID 的所有地方都使用 compositeData.fieldName?
<xp:this.styleClass><![CDATA[#{javascript:"form-group" + (getComponent(compositeData.fieldName).isValid() ? "" : " has-error" )}]]></xp:this.styleClass>