問題タブ [deform]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python - bind(model) を使用して pyramid_simpleform にあるように、Deform でフォームをモデルに変換する簡単な方法はありますか?
pyramid_simpleformは、 bind(model)を使用して、フォームの値をモデルの値に簡単に変換できることを示しています。
(以下、pyramid_simpleform のドキュメントから)
変形ドキュメントのどこにも同等の方法が見つかりません...または変形でこれを行う方法はありますか?
python - すべてのノードにアクセスできる Deform/Colander バリデーター?
Deform/Colander で、すべてのノード値にアクセスできるカスタム バリデータをどのように定義しますか。特定の値が有効かどうかを判断するために、2 つのフィールドの値にアクセスする必要がありますか?
python - Deform を使用して HTML コントロールのフォーム後処理エラー メッセージを報告する
Deformを使用すると、フォームのさまざまなフィールドに検証を追加できます。ただし、フォーム自体が有効であることを確認しますが、必ずしもフォーム処理が有効であることを意味するわけではありません。
たとえば、フォームが電子メール アドレスを持つ新しいユーザーを作成するためのものであるとします。フォームは有効ですが、フォームの処理 (この新しいユーザーをデータベースに挿入する処理) で、この電子メール アドレスを持つユーザーが既に存在することを示すデータベース整合性エラーが発生します。
電子メールがまだ使用されていないことを確認する特別なバリデーターを追加できることはわかっていますが、それでも、最初のトランザクションのチェックとコミットの間にコミットする同じ電子メールを使用する別の同時トランザクションが存在する可能性があります。終わり。
では、フォームの後処理エラーをユーザーに適切に報告するにはどうすればよいでしょうか?
フォームの横にあるエラー メッセージ (フラッシュ メッセージなど) を簡単に報告できますが、通常の検証エラーが処理されるのとまったく同じように、ウィジェットでエラーを直接報告する方法があるかどうかを知りたいです。
sqlalchemy - NICE の方法で外部キーおよび列挙列から変形選択ウィジェットを設定する方法
私はしばらくの間、deform、sqlalchemy、および colanderalchemy と格闘してきましたが、選択ボックスの作成に問題があります。
質問1
これを行うためのより良い方法はありますか:
質問2:
そして、これはどうですか:
sqlalchemy - Coland と SQLAlchemy でユニークなバリデーターを作る
私がやろうとしているのは、Pyramid、SQLAlchemy を使用した単純なブログ Web サイトです。私が選んだフォームモジュールは Coland を使った Deform です。したがって、今のところフォームにはnameとurlの 2 つのフィールドがあります。Url は名前フィールドを音訳で作成しますが、気にしません。したがって、同じ URL を持つ 2 つの記事を作成したくありません。どういうわけかCollandでバリデーターを作る必要があると思います。しかし問題は、バリデータがフィールドごとに実行され、モデル レコードごとに実行されないことです。つまり、urlフィールドのバリデーターを作成すると、メソッドにidやnameなどの別のフィールドに関する情報がないため、検証を実行できませんでした。
今のところ、2 時間かけて作成した文字列がいくつかあります =)
実際には、モデル レベル、つまり SQLAlchemy モデルでこのような検証を実行する必要があると考えましたが、もちろんそれ以上のルールは機能しません。そのようなルールは主に SQL スクリプト (CREATE TABLE) を作成するために存在するためです。
python - 変形フォームをカスタマイズするには?
デフォルトの変形フォームを使用する場合。それは私が必要とするものではありません。
それをカスタマイズする方法?
たとえば、これが必要です:
[ _ _] は通常の html 入力を表します。
テンプレートを書き直す必要がありますか?
forms - フォーム検証の正しいアプローチはどれですか? Colander のスキーマ検証または Deform のフォーム検証?
プロジェクトの 1 つでPyramidを使い始めたばかりで、フォーム フィールドの値を取得して Web サービス呼び出しを行い、値の正確性を確認することで、フォーム フィールドの入力を検証する必要がある場合があります。たとえば、銀行の CUSTOMER-ID というフィールドがあります。それを(単独で)入力として受け取り、(のような)Webサービス呼び出しを行うことでサーバーレベルで検証する必要がありhttp://someotherdomain/validate_customer_id/?customer_id=<input_value>ます。
フォーム スキーマ管理にはColanderを使用し、すべてのフォーム検証ロジックにはDeformを使用しています。CUSTOMER-ID ケースの検証ロジックをどこに配置する必要があるかについて混乱しています。それはMySchema().bind(customer_id=<input_value>)(Webサービスを照会する遅延バリデーターを持っている)にありますか、それとも form.validate(request.POST.items()) にありますか? 延期されたバリデーターのパスを使用すると、 MySchema().bindCUSTOMER colander.Invalid-ID が正しくないというエラーが発生します。それはいいです。しかし、そのエラーはフォーム レベルではなく、スキーマ レベルにあります。では、これについてユーザーに適切に伝えるにはどうすればよいでしょうか。
私は Django フォームの経験が豊富なので、cleanメソッドのようなものを期待していました。form['customer_id'].error のようなフォーム エラーは、テンプレート レベルで期待しているものです。Pyramid の Deform または Colander で可能ですか?
python - フィールド間の検証を変形し、フィールドを強調表示しない
この例に従いましたが、プロジェクトに合わせて少し変更しました
これは私が持っているものです:
検証は問題なく機能します。要素を強調表示したくないだけです。
交換すると:
と
強調表示しますが、フォームの最初の要素を強調表示しますfirst_name。これも間違っています。
小さな何かが欠けているような気がします。
アップデート
だから私は少し遊んでいました。
正しいフィールドの上にアラート メッセージ ボックス (js アラートではない) が表示されます。

これの代わりに、上記の例のように強調表示するフィールドが必要です。