跳到内容
  • 福昕首页
  • 开发中心
  • SDK文档资料
  • 插件商店
  • 福昕首页
  • 开发中心
  • SDK文档资料
  • 插件商店
申请试用
  • 企业自动化
    • Compressor
  • 福昕CloudAPI
  • 福昕PDF SDK 软件开发工具包
    • 福昕PDF SDK(ActiveX)
    • 福昕PDF SDK(桌面/服务器)
    • 福昕PDF SDK(Plug-in)
    • 福昕 PDF SDK(安卓)
    • 福昕PDF SDK(iOS)
    • 福昕PDF SDK(Web)
  • 福昕管理控制台
    • 公有云
    • 私有云
    • 通用情况
  • 福昕阅读器
    • RMS插件
  • 福昕高级编辑器
    • AI助手
    • Mac版本
      • 常规问题
    • Windows版本
      • ECM集成
      • 互联PDF
      • 企业管理指南
      • 保护
      • 内容编辑
      • 创建PDF
      • 压缩
      • 图章
      • 安装与卸载
      • 常见问题
      • 打印
      • 注释/评论
      • 福昕插件
      • 翻译助手
      • 翻译助手教程
      • 试用与激活
      • 转换
      • 页面管理
    • 教育用户
      • 论文查重
      • 论文畅
      • 操作指南
    • 网页版
      • Foxit eSign
      • 电子签章
    • 订阅
    • 资源
  • 福昕高级编辑器Linux版本
  • 福船图纸管理系统
  • 福昕PDF SDK 软件开发工具包 > 福昕PDF SDK(Web)
  • 标签:
  • annotationUpdated,form,form-field-value,PDF表单,文本域值变化,文本域属性,监听事件,表单

如何实现文本域输入范围的智能校验与容错处理?

  • 福昕知识库
  • 2025-05-22

技术背景:
在传统PDF表单设计中,通过文本域属性设置(格式类别中的验证规则与域值范围)可以实现基础的范围校验功能。但当输入值超出范围时,系统会强制阻止数据提交,这种刚性校验机制无法满足需要记录异常值的业务场景(如审计追踪、异常数据采集等)。

专业解决方案:
基于WebSDK的增强型校验方案可通过事件监听与程序化校验相结合的方式,实现智能化的范围校验与数据持久化。具体实现流程如下:

  1. 建立动态校验监听机制:
    利用annotationUpdated事件实时监控文本域值变化,示例代码如下:
				
					pdfui.eventEmitter.on(PDF.constant.DataEvents.annotationUpdated, async (annots, PDFPage, AnnotUpdatedType) => {
    //当AnnotUpdatedType为"form-field-value"时,意味着某表单域的值发生了变化
    if (AnnotUpdatedType === "form-field-value") {
        //获取触发当前监听事件的表单域
        var field = annots[0].getField();
        var fieldName = field.getName();
        var fieldValue = field.getValue();
        console.log("表单域名称为:", fieldName);
        console.log("表单域的值为:", fieldValue);
    } else {
        console.log(AnnotUpdatedType);
    }
})
				
			

2. 判断文本域的值是否在特定的范围内:

				
					//假设预期范围为:10 ~ 100 且 非空
if (fieldValue  100) {
    pdfui.confirm('您输入的值为空 或是 超出了预期范围!').then(function () {
        console.log("点击了确定。")
    }).catch(function () {
        console.log("点击了取消。")
    });
} else {
    console.log("输入值正常。");
}
				
			

完整示例代码如下:

				
					pdfui.eventEmitter.on(PDF.constant.DataEvents.annotationUpdated, async (annots, PDFPage, AnnotUpdatedType) => {
    //当AnnotUpdatedType为"form-field-value"时,意味着某表单域的值发生了变化
    if (AnnotUpdatedType === "form-field-value") {
        //获取触发当前监听事件的表单域
        var field = annots[0].getField();
        var fieldName = field.getName();
        var fieldValue = field.getValue();
        console.log("表单域名称为:", fieldName);
        console.log("表单域的值为:", fieldValue);

        //假设预期范围为:10 ~ 100 且 非空
        if (fieldValue  100) {
            pdfui.confirm('您输入的值为空 或是 超出了预期范围!').then(function () {
                console.log("点击了确定。")
            }).catch(function () {
                console.log("点击了取消。")
            });
        } else {
            console.log("输入值正常。");
        }
    } else {
        console.log(AnnotUpdatedType);
    }
})
				
			

相关内容

RDK Android 如何设置单页上下滑动翻页?

PDF转Word时,如何仅处理指定页面?

PDF和OFD如何批量互转?

Bitmap 类如何与其他的图像类互转?

打印管理PrintManager怎么判断文档打印是否完成?

软件如何打开嵌入在office文档中Adobe PDF图标

福昕高级PDF编辑器专业版如何在文档中嵌入一个3D模型

福昕高级PDF编辑器专业版如何实现对图片和文档内容添加马赛克

福昕高级PDF编辑器如何显示注释内容图标

福昕高级PDF编辑器如何添加和调整快速访问工具栏功能

推荐内容

RDK Android 如何设置单页上下滑动翻页?

PDF转Word时,如何仅处理指定页面?

PDF和OFD如何批量互转?

Bitmap 类如何与其他的图像类互转?

打印管理PrintManager怎么判断文档打印是否完成?

软件如何打开嵌入在office文档中Adobe PDF图标

福昕高级PDF编辑器专业版如何在文档中嵌入一个3D模型

福昕高级PDF编辑器专业版如何实现对图片和文档内容添加马赛克

福昕高级PDF编辑器如何显示注释内容图标

福昕高级PDF编辑器如何添加和调整快速访问工具栏功能

产品
  • 应用行业
  • 白皮书
开发支持
  • 开发中心
  • SDK文档资料

销售咨询:010-50951668

客服电话:0591-38509808

销售咨询
微信公众号

©2026 福建福昕软件开发股份有限公司 版权所有

隐私策略