68. XPages里的动态非空校验.pdfVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
SSttaarrrrooww的的专专栏栏 IInntteerreessttiinngg ssttuuffff aabboouutt LLoottuuss DDoommiinnoo,, XXPPaaggeess,, JJaavvaaSSccrriipptt,, WWeebb aanndd LLooggiicc 88.. XXPPaaggeess里里的的动动态态非非空空校校验验 分类: Lotus Notes杂谈 Xpages 2013-11-22 17:57 413人阅读 评论 (2) 收藏 举报 Lotus NotesXPages表单校验 在67. 表单提交与校验里 ,笔者提到在一个表单提交的数据就绪给业务逻辑使用 ,通常会经过转换和验证的过 程 ,在用XPages开发时也不例外。当一个编辑框的value属性被绑定到一个DominoDocument数据源的某个字段 时 ,Domino Designer会自动根据该字段在表单上定义的数据类型为这个编辑框添加合适的转换器 (converter ),比如日期类型的会被添加xp:convertDateTime ,数字类型的会被添加xp:convertNumber。同 时 ,Designer还会自动在属性视图 (properties window )的校验标签页显示恰当的校验选项。除了通用的非空校 验外 ,对文本类型的编辑框会显示文本长度校验选项 ,对数字和日期类型的编辑框显示对应类型的取值范围的校验 选项。这些图形化操作的背后 ,是XPages提供的丰富的校验器 (validator ),在属性视图的所有属性标签页的 validators属性可以添加多个这些校验器。 对这些校验器的功能和用法 ,IBM Notes and Domino Application Development wiki上有专文介绍Validation On An XPage。这些校验器用来实现特定的校验很方便 ,customValidator和validateExpression都可以用来添加 自定义的校验逻辑。当这一切都不敷使用的时候 ,还能像在JSF里一样 ,添加以Java写的校验器。编写和在faces- config.xml里的配置与JSF里没有差别 ,最后选用xp:validator连接上。有兴趣的朋友可以参看JSF的相关资料。 笔者在这篇文章里主要介绍的是另一种情况下的校验。上面列举的各种校验都是在开发时已知目标栏位是哪些 ,对 每一个提交数据的XPage都要在页面上为这些栏位逐一设置 ,我们不妨称之为静态校验。一个更方便的做法是在代 码里集中校验 ,这样做校验的逻辑与界面代码分离 ,而且可以使程序运行时再获取要校验的栏位——同样不妨称之 为动态校验——变为可能。动态校验有什么用处呢 ?试想在参数文档里配置和读取要校验的栏位 ,这样对于不同的 表单就只需修改参数文档 ,而调用相同的代码进行校验。这样一个可配置的通用的校验 “模块”可以作为一个部分 整合进一个更大的可配置的流程引擎。笔者在Lotus Notes客户端和XPages的流程引擎里都是采用这样的方 式。19. Notes客户机中的校验一文里介绍的用于非空校验的LotusScript类就被用来在客户端系统里进行动态校 验。将这个类移植到XPages ,用Java编写 ,就变成如下的代码。代码中的com.acme.tools.JSFUtil取自Karsten Lehmann的文章Helper classes to access the JSF environment and Lotus Notes data其中包含了获取JSF环境 的诸如绑定值和视图上的组件的一些工具方法。 package starrow.xsp; import java.util.Enumeration; import java.util.Hashtable; import javax.faces.application.FacesMessage; import ponent.UIInput; import javax.faces.context.Faces ontext; import com.acme.tools.JSFUtil; public class Validator { public String hint= is required.; HashtableString, String fields; public V

文档评论(0)

专业好文档 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

版权声明书
用户编号:6110200002000000

1亿VIP精品文档

相关文档