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调用;如果复杂较验,前端无法支持,可以先将参数提交后端,检验后再返回到前端报错。