【问题标题】:Django validation with ReactJS and Redux Form使用 ReactJS 和 Redux Form 进行 Django 验证
【发布时间】:2017-09-25 01:09:21
【问题描述】:

目前,我正在开发一个使用 ReactJS、Redux 和 Django 的项目。我有一个 ReduxForm 用于注册。

    <h3>Company's basic information</h3>
        <Field 
          // Redux form props
          name="name"
          component={renderTextField}
          label="Company's Name"

          // Custom props
          required={true}
          type="text"
          placeholder="Company's Name..."
          onBlur={this.handleFieldsChange.bind(this)}
        />

所以单个字段看起来像这样。 提交表单后,信息将发送到 Django 进行存储。我不确定这两者之间的验证是如何工作的。 我想要做的是检查是否存在具有该名称的公司。

Organization.objects.filter(company_name=name)

所以我这样做了,我可以看看它是否存在。

如果是这样,那么我想让用户知道他们不能使用相同的名称。 这是我不确定如何完成这项工作的地方。 我做了类似的事情

raise ValidationError({'name': ["A company named '%s' already exists" % name,]})

但是,这只会使表单无法提交。验证错误只出现在日志中。

也许有人可以为我指明正确的方向。

【问题讨论】:

  • 那么您的回复内容中应该有同样的信息。
  • @Bestasttung 谢谢。这确实帮助我指明了正确的方向。
  • 我的荣幸! :)

标签: python django forms reactjs redux


【解决方案1】:

对我来说,问题出在引发 ValidationError 的位置。我在模型中的保存功能中这样做。我需要做的是将它移到组织序列化程序中。 此外,不仅仅是

raise ValidationError({'name': ["A company named '%s' already exists" % name,]})

我改成

raise serializers.ValidationError({'name': "A company named '%s' already exists" % name })

现在看来,如果已经存在同名的组织,它会出现在带有此消息的字段下方。

【讨论】:

    猜你喜欢
    • 2016-03-12
    • 2019-05-25
    • 1970-01-01
    • 1970-01-01
    • 2018-01-14
    • 1970-01-01
    • 2018-12-06
    • 1970-01-01
    • 2021-11-21
    相关资源
    最近更新 更多