Oracle apex 如何在页面提交之前清除Oracle Apex项目中的无效输入?

Oracle apex 如何在页面提交之前清除Oracle Apex项目中的无效输入?,oracle-apex,Oracle Apex,我有一个页面项P1_用户名,当用户输入一些文本时,我希望在提交页面之前清除不允许的文本 假设like user enters sra>{563定义无效。您可以使用提交后触发的计算,并使用PL/SQL表达式,如: case when instr(:P1_USERNAME,'>') > 0 then substr(:P1_USERNAME, 1, instr(:P1_USERNAME,'>')-1) else :P1_USERNAME end 这将在提交后但在其他

我有一个页面项P1_用户名,当用户输入一些文本时,我希望在提交页面之前清除不允许的文本


假设like user enters sra>{563<输入完成后,文本应通过清除“a”后的所有输入看起来像sra,因为>定义无效。

您可以使用提交后触发的计算,并使用PL/SQL表达式,如:

case when instr(:P1_USERNAME,'>') > 0 
  then substr(:P1_USERNAME, 1, instr(:P1_USERNAME,'>')-1) 
  else :P1_USERNAME
  end
这将在提交后但在其他处理之前触发

如果您的计算需要更复杂,您可以将代码移动到一个包函数中,并进行如下计算:

my_pkg.cleanup (:P1_USERNAME)

您希望使用动态操作更改类型,该类型在字段更改后触发,然后失去焦点。然后,您将执行JavaScript代码以响应解析和替换text.Docs的事件

更改(Change)-当控件失去输入焦点且自获得焦点后其值已被修改时激发。支持的用户界面类型:桌面和jQuery Mobile Smartphone

指定在先前指定的事件发生且满足条件时执行的操作:

执行JavaScript代码-允许您定义或调用自定义的、特定于页面的JavaScript代码,以便在动态操作框架中使用。如果您定义的JavaScript代码仅特定于一个页面,则还可以使用新的页面级属性函数和全局变量声明来定义此代码。函数和变量此处的定义随后可从此操作中引用

您需要所有这些客户端-因此解析和替换必须在您编写的JS函数中完成


如果你想变得超级花哨,可以使用动态动作按键,监视输入的字符。如果他们输入了无效字符,你可以弹出一条JS消息,防止他们输入更多的坏字符:按键(keypress)-当按下键盘上的某个键导致输入文本时触发。当您希望捕获实际文本输入时使用此事件。

嗨,tony…但此计算应在提交页面之前进行!!!类似客户端验证的操作…为什么?如果改为在提交时进行,会出现什么问题?要求是y!!它希望用户不要输入任何不正确的字符,一旦用户离开该文件,它就应该清除不正确的条目。我给了你答案-请记住投票!