栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

如何使用AJAX数据验证创建JSF表单

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

如何使用AJAX数据验证创建JSF表单

您需要创建一个

Validator

开球示例:

@FacesValidator("sessionIdValidator")public class SessionIdValidator implements Validator {    @Override    public void validate(FacesContext context, UIComponent component, Object value) throws ValidatorException {        // ...        if (yourDataService.existSessionId(value)) { throw new ValidatorException(new FacesMessage(FacesMessage.SEVERITY_ERROR,     "Session ID is already in use, please choose another.", null));        }    }}

如下使用它:

<h:inputText id="sessionid" value="#{DatabaseController.formMap['sessionid']}">    <f:validateLength minimum="0" maximum="15" />    <f:validator validatorId="sessionIdValidator" />    <f:ajax event="blur" render="sessionidMessage" />         </h:inputText><h:message id="sessionidMessage" for="sessionid" />

请注意,您应该使用

<h:message>
显示验证消息。您认为没有任何人。将其应用于所有其他字段:

<h:inputText id="userid" value="#{DatabaseController.formMap['userid']}">    <f:validateLength minimum="0" maximum="15" />    <f:ajax event="blur" render="useridMessage" />         </h:inputText><h:message id="useridMessage" for="userid" />

如果你想使用

@Resource
@EJB
@Inject
在验证,则更换
@FacesValidator
的注解
@ManagedBean
或(如你似乎使用CDI出于某种原因)
@Named

@Namedpublic class SessionIdValidator implements Validator {    @Resource    private DataSource dataSource;    @Inject    private YourDataService yourDataService;    // ...}

并如下使用它

    <f:validator binding="#{sessionIdValidator}" />


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/515531.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号