Flaskはデコレータの複数のフィールドを同時に検証します

ブレントクロニクル:

私はフラスコからsqlalchemy.ormの@validatesデコレーターを使用してフィールドを検証してきましたが、すべてのフィールドが次のように互いに独立している限り、すべてうまくいきました。

@validates('field_one')
def validates_field_one(self, key, value):
   #field one validation

@validates('field_two')
def validates_field_two(self, key, value):
   #field two validation

ただし、ここで、field_oneとfield_twoに同時にアクセスする必要がある検証を行う必要があります。validatesはvalidatesデコレーターに複数の引数を受け入れるように見えますが、次のように、各引数に対して一度だけ検証関数を実行します。

@validates('field_one', 'field_two')
def validates_fields(self, keys, values):
   #field validation

結果として、validate field_oneのワークフローが作成され、次にfield_twoが検証されます。ただし、両方を同時に検証したいと思います(その簡単な例は、field_oneの値がfield_twoの値ではないことをアサートすることです。その例は、field_oneとfield_twoのグラフで自己ループを許可しないことです。ノードを参照し、エッジで検証を実行しています)。それを行うための最善の方法は何でしょうか?

rmn:

モデルで定義された順序でフィールドを並べ替えます。次に、最後のフィールドが検証されているかどうかを確認します。それ以外の場合は、チェックされていない値を返します。バリデーターが以前のフィールドのいずれかを検証している場合、それらのいくつかはまだ設定されません。

@validates('field_one', 'field_two')
def validates_fields(self, key, value):
    if key == 'field_two':
        assert self.field_one != value
    return value

この例を参照してください

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

複数のフィールドで同じデータを持つレコードを検索する

分類Dev

MS Access:データ検証ルールを複数のフィールドにコピーして貼り付けますか?

分類Dev

複数のファイルをコピーし、同時にターゲットディレクトリを作成しますか?

分類Dev

Djangoは同じモデルの複数のフィールドへの変更を検出します

分類Dev

Mongodbで同時に複数のフィールドを$ regexで検索しようとしています

分類Dev

2つのフィールドを同時に検証する

分類Dev

laravelは更新時に一意のフィールドを検証します

分類Dev

複数のcssフィルターを同時に使用しますか?

分類Dev

Flaskは、最初の検証時に動的に追加された入力フィールドを認識しません

分類Dev

Djangoは、同じモデルに対する複数の外部キーのフィルターを除外します

分類Dev

hdfsは複数のファイルを同じターゲットディレクトリにコピーします

分類Dev

Laravelカスタム検証:失敗したレコードのフィールドデータを表示する

分類Dev

複数の入力フィールドを同時に検証するにはどうすればよいですか

分類Dev

Excelのデータ検証フィールドに複数のアイテムを選択する

分類Dev

同時に複数のユーザーからのレコードをテーブルに挿入します

分類Dev

jqueryはプロパティを検証して複数のフィールドをチェックします

分類Dev

同じタイプの複数のパラメーターに対するコンパイル時のメソッド呼び出しの検証

分類Dev

Redisearchプレフィックス検索は、複数のフィールドのインデックスの合計で常に最大200を返します

分類Dev

複数の同じ長さの時系列データフレームを1つの列に追加します

分類Dev

GAEデータストアレコードのフィールドを同時に更新する

分類Dev

SQL Server:同時に2つのテーブルに複数のレコードを挿入します

分類Dev

複数の列を複数のデータテーブル(フレーム)に同時に追加する

分類Dev

複数のフィールド/列のデータを検索する方法は?

分類Dev

VBAを使用して、1つのレコードに複数のフィールドを追加すると同時に、各フィールドにカテゴリを追加します

分類Dev

複数のスレッドが同時にファイルにデータを書き込むことはできますか?

分類Dev

複数のフィールドを使用してOracleデータベースを検索します

分類Dev

Python Pandasは、複数の値フィールドに基づいて2つのデータフレームをマージします

分類Dev

デバイスモデルの新しいフィールドでのカスタム検証と同じメールアドレスを持つ複数のユーザーの作成

分類Dev

複数の入力フィールドを検証するときにコードの重複を回避するにはどうすればよいですか?

Related 関連記事

  1. 1

    複数のフィールドで同じデータを持つレコードを検索する

  2. 2

    MS Access:データ検証ルールを複数のフィールドにコピーして貼り付けますか?

  3. 3

    複数のファイルをコピーし、同時にターゲットディレクトリを作成しますか?

  4. 4

    Djangoは同じモデルの複数のフィールドへの変更を検出します

  5. 5

    Mongodbで同時に複数のフィールドを$ regexで検索しようとしています

  6. 6

    2つのフィールドを同時に検証する

  7. 7

    laravelは更新時に一意のフィールドを検証します

  8. 8

    複数のcssフィルターを同時に使用しますか?

  9. 9

    Flaskは、最初の検証時に動的に追加された入力フィールドを認識しません

  10. 10

    Djangoは、同じモデルに対する複数の外部キーのフィルターを除外します

  11. 11

    hdfsは複数のファイルを同じターゲットディレクトリにコピーします

  12. 12

    Laravelカスタム検証:失敗したレコードのフィールドデータを表示する

  13. 13

    複数の入力フィールドを同時に検証するにはどうすればよいですか

  14. 14

    Excelのデータ検証フィールドに複数のアイテムを選択する

  15. 15

    同時に複数のユーザーからのレコードをテーブルに挿入します

  16. 16

    jqueryはプロパティを検証して複数のフィールドをチェックします

  17. 17

    同じタイプの複数のパラメーターに対するコンパイル時のメソッド呼び出しの検証

  18. 18

    Redisearchプレフィックス検索は、複数のフィールドのインデックスの合計で常に最大200を返します

  19. 19

    複数の同じ長さの時系列データフレームを1つの列に追加します

  20. 20

    GAEデータストアレコードのフィールドを同時に更新する

  21. 21

    SQL Server:同時に2つのテーブルに複数のレコードを挿入します

  22. 22

    複数の列を複数のデータテーブル(フレーム)に同時に追加する

  23. 23

    複数のフィールド/列のデータを検索する方法は?

  24. 24

    VBAを使用して、1つのレコードに複数のフィールドを追加すると同時に、各フィールドにカテゴリを追加します

  25. 25

    複数のスレッドが同時にファイルにデータを書き込むことはできますか?

  26. 26

    複数のフィールドを使用してOracleデータベースを検索します

  27. 27

    Python Pandasは、複数の値フィールドに基づいて2つのデータフレームをマージします

  28. 28

    デバイスモデルの新しいフィールドでのカスタム検証と同じメールアドレスを持つ複数のユーザーの作成

  29. 29

    複数の入力フィールドを検証するときにコードの重複を回避するにはどうすればよいですか?

ホットタグ

アーカイブ