以下是我的问题的定义。我有一个Notes应用程序,它使用公式@DialogBox打开一个Form。在那种形式中,我有一个字段,通过输入验证是必需的,使用这个公式:
@If(NotificationTitle = ""; @Failure("The Title field is mandatory...") ; @Success)
很简单呃?!现在的问题是,SOMEHOW,SOMEONE做了SOMETHING并将该文件保存为空值。有人知道他怎么能做到这一点?我知道这句精彩的短语说“90%的客户都是白痴”,但是如何保存带有补充字段的文件?问题是这个空字段使整个基于Web的应用程序失效。我们不希望它再次发生,所以我们可能会在视图的列上添加一个条件来显示它是空的,但我想知道它是如何为空的。
有什么想法吗?
答案 0 :(得分:1)
你说这是一个基于网络的应用程序。输入验证仅适用于客户端。也许在网络上添加了不好的价值?
此外,有许多方法可以在不受输入验证的情况下向Notes文档添加值,而输入验证仅在表单打开时触发。 Notes代理可以更改项值。还可以设置智能图标公式来更改字段值。你有没有机会看到谁做出了改变?这将有助于缩小范围。
答案 1 :(得分:0)
在您提供的信息的面值上,这听起来像是通过Notes客户端专门输入的数据?如果是这样,请尝试重新测试您的应用程序,并在必填字段中添加一个空格。我怀疑它会通过,并保存细节,因为它不是真的空白,空格字符仍然是一个字符。要验证“真实”空白字段,请尝试此
@If(@trim(NotificationTitle)=“”; @Failure(“标题字段是强制性的......”); @Success)
注意条件测试中的@trim公式,这将在进行验证时清除冗余尾随和前导空格的字段。你需要明确空字段。
但是,如果用户通过Web输入数据,则需要在客户端添加javascript来验证这一点,并且,您可以使用“webquerysave”代理在保存数据之前在服务器上进行测试。网上有很多关于使用webquerysave代理的信息,可以找到一些好的来源here和here。
最后,请检查AutoReload property的reload method和NotesUIdocument,因为它还有一些un-intuitive behaviour。