唯一约束验证 APEX
Unique constraint validation APEX
我已经为我的应用程序中的文本字段创建了验证。
文本字段是 "Location." 它有一个唯一的约束,当你输入一个现有的位置时,它会给你一个 ORA- 错误信息。而不是这个,我想显示一个字段内联错误消息。
我做了以下。
- 创建验证
- 类型:项目=价值
- 项目=:P3_LOCATION,价值=#LOCATION#
- 错误信息:位置已经存在。与字段内联。相关项目是:P3_LOCATION
- 服务器端条件
- 按下按钮时:创建,类型 = 项目不为空,项目 = P3_LOCATION。
这正是我想要的,但是当我尝试创建一个新位置时,它也给我这个错误消息。我该怎么做才能让它只影响已经存在的位置?
好吧,您永远无法真正控制您现在输入的位置是否已经存在于 table 中。
我建议如下:
- 对项目创建验证
- 它的类型是"PL/SQL Function (returning Error Text)"
PL/SQL函数体:
declare
l_loc your_table.location%type;
begin
select location
into l_loc
from your_table
where location = :P3_LOCATION;
return ('Location already exists');
exception
when no_data_found then null;
end;
显示位置:内联字段
- 相关项目:P3_LOCATION
- 按下按钮时:创建
我已经为我的应用程序中的文本字段创建了验证。 文本字段是 "Location." 它有一个唯一的约束,当你输入一个现有的位置时,它会给你一个 ORA- 错误信息。而不是这个,我想显示一个字段内联错误消息。 我做了以下。
- 创建验证
- 类型:项目=价值
- 项目=:P3_LOCATION,价值=#LOCATION#
- 错误信息:位置已经存在。与字段内联。相关项目是:P3_LOCATION
- 服务器端条件
- 按下按钮时:创建,类型 = 项目不为空,项目 = P3_LOCATION。
这正是我想要的,但是当我尝试创建一个新位置时,它也给我这个错误消息。我该怎么做才能让它只影响已经存在的位置?
好吧,您永远无法真正控制您现在输入的位置是否已经存在于 table 中。
我建议如下:
- 对项目创建验证
- 它的类型是"PL/SQL Function (returning Error Text)"
PL/SQL函数体:
declare l_loc your_table.location%type; begin select location into l_loc from your_table where location = :P3_LOCATION; return ('Location already exists'); exception when no_data_found then null; end;
显示位置:内联字段
- 相关项目:P3_LOCATION
- 按下按钮时:创建