JSON Schema生成表单
Angular Schema Form 是一个面向 AngularJS 的表单生成工具,由一组 directives 和若干 services 组成。它的核心目标是:给定 JSON Schema,即可生成 Bootstrap 3 风格的表单,并基于 JSON Schema 完成校验。页面示例展示了 schema、form definition、model 与最终输出之间的关系,定位非常明确:服务于元数据驱动的动态表单。
在功能上,它支持使用 JSON Schema 校验表单,并通过 form definition 微调展示层,例如修改字段类型、调整字段顺序、设置 textarea、submit 等。内置字段类型覆盖 text、textarea、number、password、checkbox、select、radios、fieldset、section、array、tabarray、template 等,也支持数组拖拽或 tab 展示。校验方面,文档提到使用 tv4,并支持自定义 validationMessage、消息插值、后端错误注入,以及 AngularJS 的 $validators 和 $asyncValidators。
它可通过 bower、npm 安装,也可从 GitHub 下载,具备典型前端库的自托管使用方式。API 以 AngularJS 指令为主,包括 sf-schema、sf-form、sf-model、sf-options,并通过 schemaFormValidate、schemaFormRedraw、schemaForm.error.* 等事件处理校验和重绘。生态上支持 add-ons,例如 WYSIWYG 编辑器、datepicker、colorpicker、font-picker,也允许开发者扩展自定义字段类型。文档覆盖基础用法、提交处理、全局选项、校验、自定义字段、表单类型等,示例较充分。
正文未出现商业定价、许可证或付费支持信息,但明确提供 GitHub、npm、bower 获取方式,可按免费开源前端库理解。支付方式、企业服务和 SLA 均未披露。
优点是 JSON Schema 到表单的链路清晰,展示和校验可分离,扩展机制较成熟,适合后台管理、配置系统和动态表单场景。缺点也明显:它依赖 AngularJS 与 Bootstrap 3,技术栈偏旧;正文未说明维护状态和安全更新;复杂 JSON Schema 能力如 anyOf、oneOf 需要自定义处理。它更适合存量 AngularJS 项目,而不是新建现代前端项目。
中国大陆访问情况正文未提供,判定为未知。若 GitHub 或 npm 访问不稳定,国内团队可考虑使用镜像源,或评估 Formily、JSON Forms、React JSONSchema Form 等替代方案。
本测评基于公开资料整理,不构成购买建议,请以 schemaform.io 官网实际信息为准。
AngularJS老牌开源表单工具,仍有参考价值。
评分明细(分布与用户短评)接入中。当前展示 TG4G 综合评分,数据源自公开测评与用户反馈。