使用Xpage构建表单的处理

表单是传统的Notes应用程序的核心,在前面,我们已经创建过dominodocument类型的Xpage元素,可是我们仅仅是将已存在的表单元素上的域拖放在我们的Xpage上,并没有做进一步的处理,如域值的校验、最大字符输入的限制,输错后的提示、值的获取等等。在这一章节中,我们将学习Xpage上的域元素的处理。

在上一篇文章中,我们已经创建了一个ccfromdocument的自定义控件,现在我们打开这个自定义控件,上面已经包含三个域,一个是Subject,一个是WebCategories,再接着就是Body。我们需要对它们进行处理,首先是Subject,这个域是必填的域,并且最少字符不能少于三个,这时可以选择Subject,在对应的属性中找到校验,选择“Required Field”并且在下面的错误信息里,输入错误提示信息;在旁边的字符长度校验里,我们在最少字符里输入3

字符校验可以在服务器端执行,也可以在浏览器端执行,默认在浏览器端执行,当然我们也可以改作服务器端执行,如下图,在属性中的所有属性里,我们可以找到关闭客户机校验,设置为true即可。

那错误信息在那个地方显示呢?在Notes传统应用程序中,我们可以用公式或者LS反馈一个对话框,在传统的B/S中,我们也可以使用JS提示一个对话框,在Xpage中,我们可以使用一个控件,专门来反馈相应的错误信息。在控件面板中,我们可以找到它。

将“Display Error”控件拖放到Subject旁边,并在相应的show Error messages for属性中,选择Subject的名字即可,

当我们在浏览器中进行预览时并提交,输入字符不够或未输入时都会出现相应的信息提示。

接着我们对Web categories域进行处理,这个域主要是用来显示分类。

当然有时候,我们要关闭对域的校验,比如说用户点击Cancel按钮时,没必要再对Subject进行数值校验。为了实现这个功能,我们可以创建一个link控件,取名叫做Cancel,设置属性,

为它设置其他属性,点击时回到上一页面,在事件属性中,我们在OnClick事件里,选择添加Action

 

那么在点击Cancel链接时,就不进行数值校验,并可以可以回到上一页面上去。

 

接着我们对于Web Categories进行处理,使用输入提示。选中这个域,在输入提示属性中,开启输入提示,选择“PartialMode

Suggestions中,选择计算值,输入代码

return @DbColumn("","ByCategory",1);

 

在其他的Suggestion separator" "Client separator"属性中,输入,

 

最少字符设置为1

 

Web上,我们输入一个字符就会出现相应的提示。

 

posted @ 2012-11-06 18:14  avtechcn  阅读(301)  评论(0编辑  收藏  举报