2012-08-01 64 views
0

我有一个单选按钮组,它使用@Dblookup获取它的值。除了在单选按钮组中出现的名称之外,该文档还有一个字段,用于确定是否显示x页上的另一个字段。有条件的客户端验证?

如果该字段显示,那么它应该是必需的。

我可以在SSJS中使用@DbLookup查找在单选按钮组中选中的文档来进行条件验证。

但我希望能够做到CS,所以它更快,所以它看起来像我的其他验证。无论如何要做到这一点?

+0

我发现斯蒂芬的博客http://www.wissel.net/blog/d6plinks/shwl-7qg88x并看到他建议服务器端验证反正“真正”验证。我应该继续进行服务器端验证吗? – 2012-08-01 14:50:43

+0

使用客户端验证作为“帮助”,应该有一个服务器端验证。 – Jairo 2012-08-03 09:58:08

回答

0

如果未呈现字段,则该节点将不存在于DOM中。您的CS JavaScript需要检查DOM并查找节点,通常通过查找特定的ID。随着Xpages更改发送到浏览器的ID,您的验证功能将需要计算,以便知道要查找的ID,或者您需要以其他某种独特方式查找它(例如,将css类名称添加到字段,然后做DOM搜索具有该类名称的节点)

一旦您可以确定该字段是否已被呈现,那么您可以对其他字段运行通常的CS验证例程。

0

如果您在整个应用程序中使用客户端验证,那么在字段上设置必需的属性应该可以实现您所需的。

如果不是,则可能需要查看扩展库Dojo验证文本框。所有扩展库Dojo控件都运行客户端验证,即使验证在应用程序级别设置为服务器端。请记住,对于Dojo验证文本框,仅设置所需的属性是不够的。您需要添加更多特定的验证。

之后,关键是要确保您的收音机组上的部分刷新事件设置为跳过验证。我没有尝试,但我相信应该达到你所需要的。