amis表单较验
amis在前端做表单校验,无法按业务要求做复杂的校验功能,比如多个字段关联校验等,可以使用后台较验的方式。
引用文档:
amis - 低代码前端框架
1、基本的较验:
validations配置好表达式,然后在validationErrors配置好相应的错误提示。
表达式:amis - 低代码前端框架
{"name": "serialno","label": "流水号","id": "u:6d9986f4a89a","type": "input-text","required": true,"validations": {"minLength": 25,"maxLength": 50},"validationErrors": {"minLength": "流水号长度不对","maxLength": "流水号太长了"}
}
2、组合的较验:
{"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接口,在提交参数中,按业务逻辑判断多个字段,只需返回如下格式:
{"status": -1,"errors": {"serialno": "流水号格式出错" }
}
前端就会定位【serialno】这个字段,并提交相应的错误。
结论:结合3种较验方式,如果简单较验,直接在前端配置即可,减少后台API调用;如果复杂较验,前端无法支持,可以先将参数提交后端,检验后再返回到前端报错。