【问题标题】:apex oracle validation solution顶点预言机验证解决方案
【发布时间】:2018-05-11 00:34:50
【问题描述】:

我的 apex oracle 数据库应用程序需要 3 次验证,但似乎找不到解决方案。

  • 验证字段不能为空
  • 验证以便输入的数字必须在 1 到 1000 之间
  • 验证出生日期不能晚于5/6/2018dd // mm / yyyy 格式)

这些验证在编辑页面中使用 CREATE VALIDATION 的表单中使用

【问题讨论】:

  • 您想在数据库级别使用表验证这一点吗?即在 CREATE TABLE 语句中??
  • 你想在同一个字段上添加所有这 3 个验证吗,我认为不是,可能在两个不同的字段中。那你也可以更新你还在尝试的表结构吗?
  • 这些验证用于在编辑页面中使用 CREATE VALIDATION 的表单中,它们用于三个不同的字段

标签: oracle validation plsql oracle-apex


【解决方案1】:

使用代码创建新的验证,类型为 PL/SQL 函数(返回错误文本):

if :P1_ITEM1 is null then return 
'P1_ITEM1 is null' end if; 

if :P1_ITEM2 not between 1 and 1000 then return 
'P1_ITEM2 not between' end if; 

if to_date(:P1_ITEM3, 'DD/MM/YYYY') >= to_date('05/10/2000') then return 
'P1_ITEM3 earlier than 05/06/2018' end if; 

return null;

另外在错误消息类型中:

Unknown error.

问候

【讨论】:

    【解决方案2】:
    • 通过右键单击项目创建验证,并选择其类型为item is NOT NULL
      • 或者,将项目的“需要值”属性设置为“是”。
    • 该项目是“数字字段”,因此 - 将其“最小值”和“最大值”属性设置为所需值
    • 出生日期看起来像 SYSDATE(即今天的日期)。如果是这样,请将其“最大值”设置为+0d
      • + 关于“未来”
      • 0 为“零”
      • d 为“天”

    【讨论】:

    • 不过,您可以将验证创建为返回 *Error Text" 的 PL/SQL 函数(如果您愿意的话)。
    猜你喜欢
    • 2019-04-14
    • 2016-03-08
    • 1970-01-01
    • 1970-01-01
    • 2020-01-08
    • 1970-01-01
    • 2015-06-23
    • 2016-07-28
    • 2020-01-20
    相关资源
    最近更新 更多