【发布时间】:2011-03-21 12:10:59
【问题描述】:
我有一个带有验证器的简单 inputText:
<ice:inputText
id="test"
value="#{applicationBean.selectedApplication['name']}"
validator="defaultFieldValidator"
required="true"></ice:inputText>
<ice:message
styleClass="graValidationMessage graNotRequired"
for="test" />
您可能已经注意到我指定了一个验证器:defaultFieldValidator 并且一切正常。
我现在制作一个组件来充当 inputText 的包装器,命名为:inputTextValidated:
<ice:inputText
id="#{id}#{required}"
value="#{bean[field]}"
rendered="#{rendered}"
styleClass="#{styleClass} #{not required ? 'graNotRequired':''}"
style="width: #{width};"
partialSubmit="#{partialSubmit}"
disabled="#{disabled}"
required="#{required}"
validator="#{validatorClass}">
</ice:inputText>
如果我现在尝试调用这个组件(现在通过参数传递相同的验证器):
<gra:inputTextValidated
id="inputText"
bean="#{applicationBean.selectedApplication}"
field="#{fieldValue}"
validatorClass="defaultFieldValidator"
renderLabel="false"
required="true"
disabled="false"
width="90%"
height="#{secondTabComponentsHeight}">
</gra:inputTextValidated>
如果失败并出现以下错误:
Identity 'validatorClass' does not reference a MethodExpression instance, returned type: java.lang.String
所以问题在于将验证器名称发送到我的自定义组件时。
你看到解决方法了吗?
谢谢。
【问题讨论】:
标签: validation jsf facelets icefaces