JSF 2.0中是否可以为一个输入提供多个验证器?例如,假设我将写一个用户名,用户名必须包含8个字符。如果确定,则检查数据库中是否存在用户名。
<ice:inputText id="username" value="#{createClient.username}" maxlength="15">
<-- something like this -->
<f:validator validatorId="usernameValidator" validatorId="usernameExistValidator" />
</ice:inputText>
<ice:message for="username" />
答案 0 :(得分:13)
这绝对是可能的。您可以根据需要将尽可能多的验证器附加到组件,但是您必须为每个验证器使用单独的标记。
E.g。
<ice:inputText id="username" value="#{createClient.username}" maxlength="15">
<f:validator validatorId="usernameValidator"/>
<f:validator validatorId="usernameExistValidator" />
</ice:inputText>
答案 1 :(得分:0)
是的,您可以有多个验证器,但是要使用单独的
执行顺序与页面上列出的顺序相同,并且每个执行都不依赖于另一个。
示例:
如果用户名不包含8个字符,则还将连续检查数据库中是否存在用户名。
<ice:inputText id="username" value="#{createClient.username}" maxlength="15">
<f:validator validatorId="usernameValidator" />
<f:validator validatorId="usernameExistValidator" />
</ice:inputText>
<ice:message for="username" />