2017-09-25 20 views
1

現在、私はReactJS、Redux、およびDjangoを使用するプロジェクトに取り組んでいます。私は登録のためにReduxFormを持っています。ReactJSとReduxフォームによるDjango検証

<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)} 
     /> 

したがって、1つのフィールドはそのように見えます。 フォームが送信されると、その情報はDjangoに送られて保存されます。私は、これらの2つの間で検証がどのように機能するかについては不明です。 私がしたいことは、その名前の会社が存在するかどうかを確認することです。

Organization.objects.filter(company_name=name) 

私はこれを行い、それが存在するかどうかを確認することができます。

もしそうなら、同じ名前を持つことができないことをユーザーに知らせたいと思います。 これは私がこの作業を行う方法がわからないところです。 私はしかし、これだけのフォームを提出していない作る

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

のようなものがなかったです。検証エラーはログにのみ表示されます。

おそらく、誰かが私を正しい方向に向けることができます。

+0

あなたはあなたのrepsonseの内容でこの同じメッセージを持っているはずです。 – Bestasttung

+0

@Bestasttungありがとうございました。これは実際に私を正しい方向に向ける助けとなりました。 – RoboRob

+0

私の喜び! :) – Bestasttung

答えて

0

私にとって、問題は、ValidationErrorを上げた場所であることが判明しました。私はモデルで保存関数を使っていました。私がする必要があったのは、組織シリアライザに移動することでした。 はまた、代わりにちょうど

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

の私は、今では既にこの名前で存在組織があった場合、それはこのメッセージにフィールドの下に表示されるように思わ

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

にそれを変更しました。

関連する問題