是否有可能在向用户发送的一条错误消息中因缺少必填字段而收到多条错误消息?例如,如果我将所有 5 个必填字段留空,则单击“提交”时显示的错误消息将在同一窗口中显示所有 5 条消息。
这是一个很棒的想法,应该添加到 MyOracle Support 中的 PeopleSoft 创意空间中。不幸的是,这并没有交付。一个人可能会通过多种方式触发异常,包括:
不幸的是,PeopleSoft 在第一次失败,但并非全部失败。关于最后一项:FieldEdit/SaveEdit,只要触发PeopleCode Error函数,PeopleCode就会停止,所以我们不可能使用Error函数对多个异常进行排队。
综上所述,没有什么是不可能的。实现此目的的一种方法是使用我们自己的 JavaScript/CSS 来标记所有验证失败的字段。这将需要我们编写额外的 PeopleCode 等来解决 Oracle 提供的验证问题。
实现此目的的一种方法是“手动”执行验证,然后堆叠并呈现给用户。 为此,您需要有一个自定义的“保存”或“验证按钮”,并且您的人员代码会堆叠错误。
您可以使用普通的必填字段验证+任何您需要的条件验证。
展示这一点的一个好方法就是有一个字段(长)或一个 html 区域,并很好地展示错误:
但除此之外,这不是 Peopletools 的一部分,尽管某些模块确实提供了此功能(例如 eSupplier Portal 具有类似的功能)。
我们可以这样处理编译错误,但我不确定在执行下面的 peoplecode 之前是否会首先触发必填字段错误(必填字段的 peoplesoft 错误消息)。
&err_msg = ""; &错误=“N”;
评估1=1
When None (Field1)
&err_msg = &err_msg | "Error field 1. ";
&error = "Y";
When None (Field2)
&err_msg = &err_msg | "Error field 2. ";
&error = "Y";
When None (Field3)
&err_msg = &err_msg | "Error field 3. ";
&error = "Y";
When &error = "Y"
break;
When-Other
&err_msg = &err_msg | "no error";
break;
结束-评估;
错误(&err_msg);