如何在APEX中实现文本字段仅允许输入数值的验证功能
Oracle APEX 表单字段数值校验实现方案
下面提供3种不同场景的实现方式,可按需选择:
方法1:使用原生字段类型(优先推荐,无需写代码)
- 进入对应表单页面的字段编辑面板,在「属性」板块将字段「类型」设置为
Number Field - 向下滑动找到「错误信息」配置项,在「格式错误时显示」输入框直接填写 仅允许输入数值 即可
- 该方案由APEX自动提供前端+后端双重校验,是成本最低的实现方式
方法2:自定义校验规则(适配字段类型无法修改的场景)
如果字段不能直接设置为数值类型,可手动添加校验规则:
- 选中目标字段,在「验证」板块点击「创建验证」
- 验证类型选择
PL/SQL Expression,校验表达式填写REGEXP_LIKE(:你的字段名, '^[0-9]*$'),注意把占位符替换成你实际的字段名 - 在「错误信息」配置项填写 仅允许输入数值
- 可按需调整校验触发时机,默认是表单提交时触发,也可设置为字段失焦时实时触发
方法3:前端实时拦截输入(优化用户输入体验)
如果想要实现用户无法输入非数值字符的效果,可添加动态动作做输入拦截:
- 选中目标字段,创建新的「动态动作」,触发时机选择
Key Press - 动作类型选择
Execute JavaScript Code,代码内容填写:
if (event.key && !/[0-9]/.test(event.key) && !['Backspace','Tab','ArrowLeft','ArrowRight','Delete'].includes(event.key)) { event.preventDefault(); }
- 该方案可配合前面的校验规则使用,实现输入拦截+提交校验双重保障
内容的提问来源于stack exchange,提问作者terri333
相关产品推荐
相关产品推荐

