首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在react 3.0中是否支持异步验证?它没有使用redux格式。那么,服务器的异步验证可以实现吗?

在react 3.0中是否支持异步验证?它没有使用redux格式。那么,服务器的异步验证可以实现吗?
EN

Stack Overflow用户
提问于 2019-10-29 09:51:16
回答 2查看 297关注 0票数 2

react-admin3.0是否支持从服务器执行验证?它似乎删除了表单中的redux-form。那么,如何执行异步验证呢?我一点也不知道。有人能为它提供一些解决方案吗?如果我想做异步验证<SimpleForm>中的一些字段。谢谢。

EN

回答 2

Stack Overflow用户

发布于 2020-01-04 04:04:48

昨天我正在寻找一个解决方案,因为最近几天我在我的新项目中使用了最新版本的react-admin。

在看到你的问题没有得到任何回应后,我花了最后几个小时寻找解决方案。我已经构建了一个简单的插件,叫做ra-remote-validator,它可以帮助你满足这个需求。

你可以在这里找到更多细节:https://www.npmjs.com/package/ra-remote-validator

我希望这能有所帮助,或者,如果你有关于这个话题的消息,我将感谢任何信息!

票数 1
EN

Stack Overflow用户

发布于 2020-01-09 10:35:33

代码语言:javascript
复制
 const availableValidate = resource => (
  property,
  filterId
) => async value => {
  if (!value) {
    return 'Required';
  }
  const result = await fetch.query({// i use graphQl ,you can use rest-api 
    variables: {
      filter: [{ property, operation: 'EQUAL', value }],
      page: { page: 0, size: 1 },
      sort: [{ property: 'id', direction: 'ASC' }],
    },
    query: gql`
        query ${resource}($filter: [SearchCriteria], $page: SearchPage, $sort: [SearchOrder]) {
          lists: ${resource}(filter: $filter, page: $page, sort: $sort) {
            content {
              id
              code
              name
            }
          }
        }
      `,
  });
  if (result.data.lists.content.length > 0) {
    const finalData = filterId
      ? result.data.lists.content.filter(ele => ele.id !== filterId)
      : result.data.lists.content;
    if (finalData.length > 0) {
      return `Unavailable ${property}`;
    }
  }
};
const validateField = availableValidate('deliveryTypes');// write a function for validate

  <Create {...props} title="Create">
      <SimpleForm redirect="list" toolbar={<CreateToolbar />}>
          <TextInput
            source="code"
            resettable
            validate={[required(), validateField('code')]}
         />
       </SimpleForm>
    </Create>
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58600516

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档