alibaba / formily

📱🚀 🧩 Cross Device & High Performance Normal Form/Dynamic(JSON Schema) Form/Form Builder -- Support React/React Native/Vue 2/Vue 3
https://formilyjs.org/
MIT License
11.26k stars 1.46k forks source link

[Bug Report] ArrayItems 当处于字符串数组模式时,required校验逻辑异常 #3910

Closed Landon-CN closed 1 year ago

Landon-CN commented 1 year ago

Reproduction link

Edit on CodeSandbox

Steps to reproduce

第一步: 点击提交触发校验失败,提示必填 image

第二步: 添加一条,并且在输入框里输入值 image

第三步:点击提交,校验结果更新 image

What is expected?

1、字段校验自动触发,更新校验结果

What is actually happening?

校验结果是历史结果,未触发更新,需要点击提交手动更新

Package

@formily/core@2.2.27


初步debug判断是string_array.0的字段值更新时没有触发父级string_array的校验导致的

hchlq commented 1 year ago

原因:字符串数组为空(undefined 或 null)时,required 校验不通过

解决方案:

  1. formily 更改 required 的数据校验规则【影响可能较大】

  2. 通过其他校验规则,比如使用 min

 'x-validator': {
      min: 1,
  },