amis表单较验

amis在前端做表单校验,无法按业务要求做复杂的校验功能,比如多个字段关联校验等,可以使用后台较验的方式。

引用文档:

amis - 低代码前端框架

1、基本的较验:

validations配置好表达式,然后在validationErrors配置好相应的错误提示。

表达式:amis - 低代码前端框架

XML 复制代码
{
	"name": "serialno",
	"label": "流水号",
	"id": "u:6d9986f4a89a",
	"type": "input-text",
	"required": true,
	"validations": {
		"minLength": 25,
		"maxLength": 50
	},
	"validationErrors": {
		"minLength": "流水号长度不对",
        "maxLength": "流水号太长了"
	}
}

2、组合的较验:

XML 复制代码
{
  "type": "page",
  "body": {
    "type": "form",
    "api": "/amis/api/form/saveForm",
    "rules": [
      {
        "rule": "!(data.a && data.b)",
        "message": "a 和 b 不能同时有值"
      }
    ],
    "body": [
      {
        "type": "input-text",
        "name": "a",
        "label": "A"
      },
      {
        "type": "input-text",
        "name": "b",
        "label": "B"
      }
    ]
  }
}

3、后台较验:

后端api接口,在提交参数中,按业务逻辑判断多个字段,只需返回如下格式:

XML 复制代码
{
     "status": -1,
     "errors": {
        "serialno":  "流水号格式出错"   
     }
}

前端就会定位【serialno】这个字段,并提交相应的错误。

结论:结合3种较验方式,如果简单较验,直接在前端配置即可,减少后台API调用;如果复杂较验,前端无法支持,可以先将参数提交后端,检验后再返回到前端报错。

相关推荐
c***69301 小时前
Spring Boot实时推送技术详解:三个经典案例
spring boot·后端·状态模式
天若有情6733 小时前
Spring Boot 前后端联调3大经典案例:从入门到实战(通俗易懂版)
spring boot·后端·状态模式
jinmo_C++6 小时前
从零开始学前端 · HTML 基础篇(一):认识 HTML 与页面结构
前端·html·状态模式
阿珊和她的猫21 小时前
React Hooks:革新组件开发的优势与实践
前端·react.js·状态模式
会员果汁1 天前
12.设计模式-状态模式
设计模式·状态模式
派大鑫wink2 天前
2025 前端技术革新:从 SSR 到边缘渲染,4 大核心方向 + 实战案例重构前端性能
状态模式
前端不太难2 天前
从本地到多端:HarmonyOS 分布式数据管理实战详解
分布式·状态模式·harmonyos
@PHARAOH2 天前
HOW - 如何禁用 localstorage
前端·状态模式
寂寞恋上夜3 天前
枚举值怎么管理:固定枚举/字典表/接口动态(附管理策略)
prompt·状态模式·markdown转xmind·deepseek思维导图
前端不太难3 天前
Sliver 为什么能天然缩小 rebuild 影响面
flutter·性能优化·状态模式