Oracle Apex:如何限制表单中的数字字段仅允许数字?

问题描述

我有一个形式为数字字段的项目,我想以某种方式确保该字段中仅接受数字。如果用户输入字母,我希望该字段拒绝它。

我已经尝试过验证,但未成功,是否有通过JavaScript代码或“ pl / sql代码”进行的动态操作使它实现?

解决方法

除了将其类型设置为数字字段之外,您完全不需要执行任何操作。

是的,您可以键入您想要的任何内容,但是Oracle将不会存储任何数字。它将引发“字段名称必须为数字”错误并停止。

为什么要重新发明轮子?


如果必须,请尝试对该项目进行动态操作(我们将其称为P13_DEPTNO)

  • 事件发生时:按键

  • 选择类型:项目

  • 项目:P13_DEPTNO

  • 正确的操作:执行PL / SQL代码(带有“要提交的项目”:P13_DEPTNO):

    begin
      if not regexp_like(:P13_DEPTNO,'^\d+$')
      then
        raise_application_error(-20000,'Digits only');
      end if;
    end;
    
,

最简单,最快的方法是将字段类型设置为数字字段

这将引发错误“字段名称必须为数字”,并停止进一步执行。