問題タブ [htmlfill]
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 - フォーム要素の配列を持つ Pylons FormEncode
私は Pylons アプリを持っており、フォームを処理するために FormEncode と HtmlFill を使用しています。テンプレートにテキスト フィールドの配列があります (Mako)
ただし、これらのフィールドを検証する方法がわかりません。ここに私のスキーマからの関連エントリがあります
yardage = formencode.ForEach(formencode.validators.Int())
これらの各フィールドが Int であることを検証しようとしています。ただし、これらのフィールドの検証は行われません。
更新 ここで要求されているのは、このコントローラーのアクションのコードです。他のフォームフィールドを検証できるので、機能していたことはわかっています。
更新
IRC で、要素の名前をyardage[]
からyardage
No result に変更するよう提案されました。それらはすべて int でなければなりませんが、要素の 1 つに f を入れても無効にはなりません。前に言ったように、他のフォーム フィールドを検証できます。以下は私のスキーマ全体です。
c# - HttpWebRequest:x-www-form-enclosedを使用してWebRequestを介してCanada Postで郵便番号を見つける方法は?
私は現在、Windowsフォームを介したインターネットインタラクションのスキルを向上させるためにいくつかのテストを書いています。それらのテストの1つは、CanadaPostWebサイトから返される郵便番号を見つけることです。
- 私のデフォルトのURL設定は次のように設定されています:http://www.canadapost.ca/cpotools/apps/fpc/personal/findByCity?execution = e4s1
- 必須のフォームフィールドは次のとおりです。streetNumber、streetName、city、province
- contentTypeは「application/x-www-form-enclosed」です
編集: contentTypeとして、ポイント3の値ではなく「application/x-www-form-encoded」の値を考慮してください。(EricLaw-MSFTに感謝します!)
私が得た結果は期待された結果ではありません。郵便番号を見つけるための情報を手動で入力できるページのHTMLソースコードを取得しましたが、見つかった郵便番号を含むHTMLソースコードは取得できません。私が間違っていることについて何か考えはありますか?
XMLを使用することを検討しますか?まず、Canada Postを匿名で検索することは可能ですか?
説明をわかりやすくするためのコードサンプルを次に示します。
私の視点では、ボトルネックに引っかかっているように見えます。希望する結果が得られません。
編集:このサイトのContentTypeに関してはパラメータが必要なようです。説明させてください。
- 次のことを規定する「メタ」変数を持つものがあります。
meta http-equiv = "Content-Type" content = "application / xhtml + xml、text / xml、text / html; charset = utf-8"
- そしてもう1つは、コードの後半に次のように読み取られます。
form id = "fpcByAdvancedSearch:fpcSearch" name = "fpcByAdvancedSearch:fpcSearch" method = "post" action = "/ cpotools / apps / fpc / personal / findByCity?execution = e1s1" enctype = "application / x-www-form-urlencoded 「」
私の質問は次のとおりです:私はどちらに固執する必要がありますか?
最初のContentTypeは、データが投稿されたときの関数などへの別のリクエスト専用であるため、最初のContentTypeと見なされますか?
編集:リクエストに従って、私がいる解決策に近いものがこの質問の下にリストされています: WebRequest:このContentType =” application / xhtml + xml、text / xml、text/htmlに対してWebRequestを使用して郵便番号を見つける方法; charset = utf-8”?
助けてくれてありがとう!:-)
c# - WebRequest: この ContentType="application/xhtml+xml, text/xml, text/html; charset=utf-8" に対して WebRequest を使用して郵便番号を見つける方法は?
私は最初にこれを投稿しました: HttpWebRequest: How to find a postal code at Canada Post with a WebRequest with x-www-form-enclosed? .
AnthonyWJones の提案に従って、彼の提案に従ってコードを変更しました。
調査を続けていると、Canada Post の content-type が"application/xhtml+xml, text/xml, text/html; charset=utf-8" である可能性が高いことに気付きました。
私の質問は次のとおりです。
- このようなコンテンツ タイプの Web サイトに対して Web リクエストを行うにはどうすればよいでしょうか。
- NameValueCollection オブジェクトを使い続ける必要がありますか?
- 前の質問で貴重な情報を惜しみなく提供してくれた Scott Lance によると、WebRequest はコンテンツ タイプが何であれ、情報のタイプを返す必要があります。
- コンテンツ タイプが変更されたため、コードを変更する必要がありますか?
私の進行状況を理解しやすくするために、ここに私のコードを示します。
このコードは実際には、郵便番号検索で処理するために必要な情報を入力する必要があるフォームの HTML ソース コードを返します。私が望むのは、HTML ソース コードまたは見つかった郵便番号を含むものを取得することです。
編集:これが私が今得たWebExceptionです:「このタイプの動詞でコンテンツ本文を送信できません。」(これは、フランス語の例外「Impossible d'envoyer un corps de contenu avec ce type de verbe.」からの翻訳です。)
これが私のコードです:
例外の原因となった行は「=>」で示されます。メソッドとして GET を使用することはできないようですが、これは私に言われたことです...
ここで何が欠けているのか分かりますか? Justin (回答を参照) が私に推奨したことを実行しようとしています。
助けてくれてありがとう!:-)
python - Pylons の validate および authenticate_form デコレーターの使用
validate デコレータと authenticate_form デコレータはうまく連携していないようです。これは私のテンプレートです:
そして、これはコントローラーです:
検証が失敗した場合、フォームは @validate デコレータによって htmlfill.render を使用して再レンダリングされますが、これにより認証トークンが削除されるため、次回フォームが送信されたときに 403 CSRF 検出エラーが表示されます。
@authenticate_form が request.POST から認証トークンを削除するため、認証トークンが削除されているようです。
これを代わりに使用する場合:
それは正常に動作します。force_defaults が False に設定されている場合、何か問題が発生する可能性はありますか? htmlfill のドキュメントでは、デフォルトが「フォーム送信の結果である」場合に True に設定することを推奨しているようです。
python - Pyramid の @view_config で HTMLFill を使用する
HTMLFill を使用してフォームにデフォルト値を入力しようとしています。@view_config デコレータを使用し、mako でフォームを生成する関数があります。
テンプレート:
基本的な使用例は次のようになります。
私の場合、最初の引数を設定する方法は使用していませんhtmlfill.render
。
php - HTMLでPHP値を取得する
データベースから取得した名前をhtmlファイルで表示しようとしています。いくつかのブログを紹介しましたが、それでも値を表示できません
3つの方法を試しましたが、どれもうまくいきませんでした。
rendering - render を使用して、名前付きアンカーを使用して pylons でページをレンダリングするにはどうすればよいですか?
formencode の検証後にページをレンダリングする必要があります。
このページには固定されたタブが含まれています。
これは、formencode がエラーを返した後に現在行っていることです。
htmfill.render() を取得して、名前付きアンカーを返して表示するにはどうすればよいですか。