Open yanquer opened 4 months ago
validateApi 验证 联动数据 时, 即使设置了 "validateOnChange": true, , 也只会验证第一次时候的数据
"validateOnChange": true,
amis + react
3.5.2
粘贴有问题的完整 amis schema 代码:
amis schema
{ type: "select", label: "选择想要的数据", name: "select-want", options: msgLevelOption, multiple: true, value: "${help\\-for\\-want\\-select}", // 有斜杠转义 // 单项数据校验 validateApi: { "method": "post", "url": "/post/save/data", "data": { "select-want": "${select\\-want | sortByVal:" + msgLevel + "}", // "select-want": "${help\\-for\\-want\\-select}", }, }, // 这个有个bug, 当 value 是通过其他组件联动修改的时候, 修改后的数据不会触发校验. "validateOnChange": true, }, { label: "辅助select", type: "input-text", name: "help-for-want-select", value: "${select\\-want | sortByVal:" + msgLevel + "}", // visible: false, },
如schema所示, 我想将 select-want 的数据经过转换后再验证, 目前能用的方法只有在 api 中显示将数据先转换一遍. 因为 select-want 的数据被 help-for-want-select 联动刷新后, 不会触发validateApi.
select-want
api
help-for-want-select
剩余关键部分代码上下文
const registerSortByVal = () => { // 按照给定 sortData 的顺序排序 registerFilter('sortByVal', (data: string, sortData: string[]) => { if (!data || data.indexOf(',') === -1) return data const newData = data.split(',') newData.sort((a, b) => { const aIndex = sortData.indexOf(a) const bIndex = sortData.indexOf(b) return aIndex > bIndex ? 1 : -1; }) return newData.join(',') }) } const msgLevel = ['debug', 'info', 'warning', 'error', 'circ'] const msgLevelOption = msgLevel.map<optionProp>(data => { return { label: data, value: data } }) registerSortByVal()
问题
我不确定这算不算是一个bug, 但正常来说, 即使是联动改变数据也应该触发提交.
这里使用 过滤器 而不是 表达式 是因为, 表达式传不进去参数, 官网只找到自定义过滤器的说明而无自定表达式的说明; 请问官方是否有这样的支持(自定义表达式).
过滤器
表达式
👍 Thanks for this! 🏷 I have applied any labels matching special text in your issue.
Please review the labels and make any necessary changes.
描述问题:
validateApi 验证 联动数据 时, 即使设置了
"validateOnChange": true,
, 也只会验证第一次时候的数据截图或视频:
如何复现(请务必完整填写下面内容):
amis + react
3.5.2
粘贴有问题的完整
amis schema
代码:如schema所示, 我想将
select-want
的数据经过转换后再验证, 目前能用的方法只有在api
中显示将数据先转换一遍. 因为select-want
的数据被help-for-want-select
联动刷新后, 不会触发validateApi.剩余关键部分代码上下文
问题
我不确定这算不算是一个bug, 但正常来说, 即使是联动改变数据也应该触发提交.
这里使用
过滤器
而不是表达式
是因为, 表达式传不进去参数, 官网只找到自定义过滤器的说明而无自定表达式的说明; 请问官方是否有这样的支持(自定义表达式).