問題タブ [symfony-forms]
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.
symfony1 - (トリッキー?)SymfonyのsfWidgetFormChoiceフォームウィジェットの検証
Ubuntu9.10のPropelORMでSymfony1.3.2を使用しています。
ユーザーがユーザー名を入力する必要がある登録フォームを作成しています。
名前の選択に次の制限を課したいと思います。
- 名前が一意であること(つまり、他の誰かがまだ使用していないこと)
- その名前は、データベーステーブルに保存されている不快な名前のリストに含まれていません
最初の要件については、sfValidatorPropelUniqueバリデーターを使用して簡単に実行できます。
ただし、課題は、2番目の要件を実装し、要件1と2を単一のバリデーターに結合することにあります。
これを行うためのカスタムバリデーターを作成できると思いますが、これを行うためのより良い方法があるのではないかと思います(つまり、「独自の」ソリューションではなく、フレームワークを使用しますか?
symfony1 - Symfony にフォームを埋め込む方法の例
Ubuntu 9.10 で Symfony 1.3.2 と Propel ORM を使用しています。
他の多くのテーブルがリンクされているユーザー プロファイル テーブルがあります (つまり、user_profile.id は他の多くのテーブルの FK です。
私のデータベーススキーマは次のようになります。
ユーザー プロファイル オブジェクトにリンクする他のオブジェクトをユーザー プロファイル フォームに埋め込みたいので、ユーザー プロファイル フォームで CRUD を実行すると、関連するオブジェクト (UserVehicle、UserJob など) も同時に CRUD になります。ユーザー プロファイル オブジェクトとして)。
次の方法を示す簡単なスニペットが必要です。
- さまざまな関連オブジェクト (つまり、UserVehicle、UserChild) を UserProfile フォームに埋め込みます。
- 操作が実行されているときに、さまざまな関連オブジェクトを作成/更新/削除します (ユーザーは 0-N を超える車両またはそれらに割り当てられた子を持つことができることに注意してください)
symfony1 - 教義の継承。symfony フォームの選択フィールドで使用するすべての子クラス/テーブルを取得する簡単な方法はありますか?
symfony 1.4 と Doctrine を使い始めたところです。(以前は 1.0 - 1.2 + Propel を使用していました)。
過去の開発プロセスが速くて巨大だったので、Doctrine を試してみようと思いました。
jwage に感謝します ;-)
テーブル継承を使用しています。これは、私の schema.yml の一部です。
...
...
...
私は今、正しいフォームを作成するための簡単な方法を使用することを考えています.
ユーザーは、フォームの上部にあるフィールドを選択する必要があります (ここで確認できるように: http://msm-esv.dyndns.org/frontend_dev.php/fahrzeuge/insert )
Rennfahrzeuge や Karts などの「親クラス」を選択する必要があります。
その後、ユーザーは Tourenwagen や Sonstige などの子クラスを選択する必要があります。
次に、ページがリロードされ、正しいフォームが表示されます。
2番目の選択フィールドに表示するための継承/子クラスを取得するDoctrineの関数はありますか?
(例: Rennfahrzeuge には Tourenwagen、...、...、Sonstige があり、Karts には TonyKart、...、...、Sonstige があります)
その後、次のような割り当てられたフォーム クラスを動的に作成できます。
または、親フォーム クラスに適切なモデルを設定することだけを考えました。
あなたの考えは何ですか?提案や助けをいただければ幸いです:-)
どうもありがとう、
マルコ
php - symfony フォームの質問 (動的に入力された sfWidgetFormSelect ウィジェットの選択された値を復元する)
Ubuntu 9.10 で Symfony 1.3.2 と Propel ORM を使用しています。
AJAX を使用して、選択した国の都市を選択ウィジェットに動的に入力するフォームを開発しました。
フォームに入力されたデータが保存される前に、フォームを検証します。検証が失敗した場合、修正のためにフォームがユーザーに返されます。ただし、国リストは動的に生成されるため、修正のために表示されるフォームには有効な都市が選択されていません (国ウィジェットがまだ変更されていないため、空です)。
これは、ユーザーが別の国を選択し (変更イベントが発生する)、選択した元の国に戻り、最後に最後に選択した都市を選択する必要があることを意味するため、ユーザーにとって不便です。
別の (おそらく無関係の) フィールドが検証されなかったため、このすべてがユーザーに強制されます。
$form->getValue('widget_name') を $form->bind() の直後に呼び出してみましたが、どうやら (実際、IIRC、フォームの検証に失敗した場合、すべての値が null にリセットされます) - そうです。うまくいかない。
私は現在、$_POST を介して入力 (つまり、汚染された) データに直接アクセスし、それらをフラッシュ変数に設定するという厄介なハックを試みていますが、非常に厄介なハックだと感じています)
私がやろうとしているのは、一般的なユース ケース シナリオです。$_POST などでハッキングするよりも、これを行うためのより良い方法はありますか?
symfony1 - Symfony select_tag() ヘルパーの一意の ID
select_tag() ヘルパーを使用して、生成された要素に ID を渡さないようにする方法はありますか?
そうでない場合、ページに同じフォームが複数あり、id を一意に保ちたい場合はどうしますか?
php - カスタム エラー レンダリングを symfony 1.4 で動作させることができません
この例に従って、フォームのエラー レンダリングをカスタマイズしようとしています。
これが私のコードです:
しかし、$this['message']
エラーが発生した場合、このコードが返されるため、反復は発生しない'<ul></ul>'
ようですforeach ($this['message']->getError() as $error)
$this['message']->getError()
オブジェクトを返しsfValidatorError
ます - おそらく symfony 1.4 で何かが変更され、もはや反復可能ではありません...
最初は、その例のすべての魔法が発生したのは、オブジェクトが$error
反復によって実装されているために発生したと思っていました __toString() が、反復がまったく発生していないようです...
symfony1 - sfJQueryUIPlugin:新しいレコードのピッカーなし
毎日がSymfonyの新しい日ですが、私はそれが大好きです!今朝私はをインストールしましたsfJQueryUIPlugin
。依存関係はほとんどなく、themeRollerスタイルを受け入れます。ただし、2つの問題があります。
[Feature_Request]年の範囲を指定する方法はありません。デフォルトでは、フィールド値に1年前後の20年の範囲が表示されます。例えば。フィールド値が1993-01-20の場合、範囲は1983〜2003になります。??? 誰かが抜け道を見つけましたか?
フィールドが空の場合、DatePickerは表示されないため、新しいレコードの作成中には表示されません。
これを解決するために、 ???text
を使用して日付入力フィールド(現在は入力として表示されます)にデフォルト値を設定してみました。$this->setDefault('date_of_birth',date('Y-m-d'));
ピッカーのこの問題に直面している人は、新しいレコードの作成中に利用できるようになりましたか???? また、デフォルト値を設定する正しい方法ですか?
前もって感謝します。
symfony1 - sfWidgetFormSchemaFormatter:埋め込みフォームの名前のフォーマット
Symfony1.4でカスタムフォーマッターを作成しようとしています。を介してフォームを埋め込みました
埋め込みフォーム「ユーザー」の名前をフォーマットする方法はありますか?
symfony1 - symfony doctrine:insert-sql-「mysqlという名前のドライバーが見つかりませんでした」エラー
ねえ、私はsymfonyの初心者です。私はsymfony-project.comでこのjoobetチュートリアルに従っています、私はそこにいます3日目http://www.symfony-project.org/jobeet/1_4/Doctrine/en/03 php symfony doctrine:insert-sqlと入力するたびに、次のエラーが発生します:
テーブルを作成する教義mysqlという名前のドライバーが見つかりませんでした
WAMPで使用しています。symfonyがC:\ wamp \ bin \ php \ php5.3.0 \ PEAR \ symfonyにあり、プロジェクトがC:\ wamp \ www \ jobeetにあります。ここで立ち往生していて、移動できないので、これを解決するのを手伝ってください。さらに遠く。
symfony1 - symfonyフォーム-以前に選択したファイルを記憶する
UbuntuでSymfony1.3.2を使用していますが、いくつかのウィジェットを含むフォームがあります。1つのウィジェットはsfWidgetFormInputFileで、これによりユーザーは画像を選択できます。
フォームが有効でない場合は、誤ったフィールドを修正するために、フォームをユーザーに再度提示します。
私が経験している問題は、現在、foemが(何らかの理由で)検証に失敗すると、ユーザーが指定した画像ファイルが失われることです(つまり、ユーザーはファイルを再度選択する必要があります)。
選択した画像ファイルをそのままにして(ユーザーがファイルを再度選択する必要がないように)、フォームをユーザーに再度表示するにはどうすればよいですか?
POSTされたフォームを処理するアクションでは、getFiles($ key)を呼び出し、取得した配列にインデックスを付けてファイル情報を取得し、ウィジェットのデフォルト値を設定します(以下を参照)。ただし、レンダリングされたウィジェットは空です(以前に選択したファイルへのパス名の値は保持されません。
私の(アクション)コードのスニペットは次のようになります。
上記の望ましい動作を正しく実装する方法を誰かが提案できますか?