Oracle Apex 文本项字段中的字符限制

Character limitation in text item field in Oracle Apex

我有一个文本项目字段 - 订单号,用户可以在其中输入他的详细信息。

当用户输入以 1 开头的订单号时,字符限制应限制为 14。

当用户输入以 2 开头的订单号时,字符限制应限制为 11。

我们如何在 Oracle Apex 中做到这一点?

单击 Create Dynamic Action,设置以下属性:

  • Event - Key press
  • Selection Type - Item
  • Item(s) - 您的商品名称
  • Condition - Javascript expression 使用以下表达式(其中 P_ITEM 是您的项目名称):

    ($v('P_ITEM').length >= 14 && $v('P_ITEM').substring(0,1) == '1') ||
    ($v('P_ITEM').length >= 11 && $v('P_ITEM').substring(0,1) == '2')
    
  • Action - Cancel Event

P. S. 我没有尝试复制和粘贴长值。为此,您可能需要一些额外的 javascript 代码。此外,此代码不能限制从其他符号开始的值。

P. P. S. 也可以使用验证(这很简单,但验证是在服务器端处理的)和触发器(两种解决方案都使用 PL/SQL 代码)。