Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Docs: 在 useVbenForm 中,我如何通过子组件内部的校验规则来校验该组件是否通过呢,而不是通过 form 自带的 rules,我应该如何去做? #5241

Closed
1 of 4 tasks
zxj176381 opened this issue Dec 26, 2024 · 8 comments
Labels
documentation Improvements or additions to documentation

Comments

@zxj176381
Copy link

zxj176381 commented Dec 26, 2024

Documentation is

  • Missing
  • Outdated
  • Confusing
  • Not sure?

Explain in Detail

   {
      fieldName: 'aiSceneSessionExpressList',
      component: 'TableItem',
      labelWidth: 0,
      formItemClass: 'lg:col-span-6',
      componentProps: {
        minHeight: 300,
        tableTitle: '课文生词列表',
        tableTitleHelp: '点击表格中某一项即可进入编辑状态',
        columns: [
          {
            field: 'orderNo',
            title: '顺序号',
            width: 120,
            editRender: {
              name: 'input',
              placeholder: '请输入',
            },
          },
        ],
        editRules: {
          orderNo: [{ required: true, message: '必须填写' }],
        },
      },
    },

TableItem 是一个插槽自定义的组件。

以上代码中,我传入了 editRules 到子组件中去判断,可是我怎么告诉 VbenForm 我这个组件是不通过的呢?

Your Suggestion for Changes

征求意见

Steps to reproduce

No response

@zxj176381 zxj176381 added the documentation Improvements or additions to documentation label Dec 26, 2024
@zwtgit
Copy link

zwtgit commented Dec 26, 2024

submit的时候 用formApi.setValues或formApi.setFieldValue把数据补上

@zxj176381
Copy link
Author

submit的时候 用formApi.setValues或formApi.setFieldValue把数据补上

主要是 规则校验 跟数据没有关系

@mynetfan
Copy link
Collaborator

你说得太笼统。表单的校验规则可以使用自定义的校验函数。如果表单的自定义校验规则也解决不了,就使用插槽配合模板引用,来调用组件自己暴露的校验方法。

@zxj176381
Copy link
Author

你说得太笼统。表单的校验规则可以使用自定义的校验函数。如果表单的自定义校验规则也解决不了,就使用插槽配合模板引用,来调用组件自己暴露的校验方法。

意思就是,插槽里组件暴露出一个方法,在submit 的时候再去通过 ref 调用组件的校验方法,单独去处理这个组件的校验

@zxj176381
Copy link
Author

你说得太笼统。表单的校验规则可以使用自定义的校验函数。如果表单的自定义校验规则也解决不了,就使用插槽配合模板引用,来调用组件自己暴露的校验方法。

有没有一个办法,是可以统一调用的,submit 也会执行组件里的方法的,有没有这样的功能,或者怎么样能实现

@zxj176381
Copy link
Author

你说得太笼统。表单的校验规则可以使用自定义的校验函数。如果表单的自定义校验规则也解决不了,就使用插槽配合模板引用,来调用组件自己暴露的校验方法。

rules 可不可以接收一个异步函数,成功的话就 return true 有错误就返回一个错误信息
这样的功能呢

@zxj176381
Copy link
Author

你说得太笼统。表单的校验规则可以使用自定义的校验函数。如果表单的自定义校验规则也解决不了,就使用插槽配合模板引用,来调用组件自己暴露的校验方法。

如何通过插槽配合模板调用组件暴露的方法呢
不能直接在 插槽组件中定义 ref 属性,在 rules 中通过 ref 调用 暴露的校验方法 会死循环

@zxj176381
Copy link
Author

zxj176381 commented Dec 27, 2024

@mynetfan 我新改了下信息,您帮忙再看下

@github-actions github-actions bot locked and limited conversation to collaborators Jan 11, 2025
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
documentation Improvements or additions to documentation
Projects
None yet
Development

No branches or pull requests

3 participants