フォームを処理しようとするのはこれが初めてで、Symfony 2.3 の公式ドキュメントに従っています。フォームを表示することはできましたが、処理できませんでした。
次のエラーが表示されます。
キャッチ可能な致命的なエラー: Symfony\Component\Validator\Mapping\ClassMetadata::addPropertyConstraint() に渡される引数 2 は、Symfony\Component\Validator\Constraint のインスタンスでなければなりません。指定された配列は、/home/torob/lampstack-5.4.16 で呼び出されます。 -0/apache2/htdocs/A/vendor/symfony/symfony/src/Symfony/Component/Validator/Mapping/Loader/YamlFileLoader.php 90 行目 /home/torob/lampstack-5.4.16-0/apache2 で定義/htdocs/A/vendor/symfony/symfony/src/Symfony/Component/Validator/Mapping/ClassMetadata.php 行 193
500 内部サーバー エラー - ContextErrorException
これが私のコントローラーです:
public function newIdeaPostAction(Request $request){
$idea = new Idea();
$form = $this->createFormBuilder($idea)
->add('title', 'text')
->add('shortDescription', 'text')
->add('valueDescription', 'text')
->add('description', 'textarea')
->add('Next', 'submit')
->getForm();
$form->handleRequest($request);
if($form->isValid()){
return $this->redirect($this->generateUrl('ideside_idea_success'));
}
}
$form->handleRequest($request)
エラーを作成するのはメソッド呼び出しであることを知っています。私はまた、2.1-documentation から「古い方法」でそれをやろうとしました (彼らは handleRequest-method が新しいと言います):
if ($request->isMethod('POST')) {
$form->bind($request);
if ($form->isValid()) {
// perform some action, such as saving the task to the database
return $this->redirect($this->generateUrl('task_success'));
}
}
これにより、同じエラーが発生しました。
追加情報:
ルートは次のとおりです。
ideside_newidea_post:
path: /post/idea
defaults: { _controller: IdesideIdeaBundle:Default:newIdeaPost }
methods: [POST]
これがスタックトレースです (...nameofproject/vendor/symfony/symfony/src/Symfony/Component/Validator/Mapping/ClassMetadata.php):
*
* @return ClassMetadata This object
*/
public function addPropertyConstraint($property, Constraint $constraint)
{
if (!isset($this->properties[$property])) {
$this->properties[$property] = new PropertyMetadata($this->getClassName(), $property);
これが私のvalidation.ymlです(ただし、コントローラーでisValid-functionが呼び出される前にエラーが発生するため、関連性があるかどうかはわかりません):
Ideside\IdeaBundle\Entity\Idea:
properties:
title:
- NotBlank: {message: "blabla"}
shortDescription:
- NotBlank: {message: "blabla"}
- Length: {max: 115, maxMessage: "blabla", min: 6, minMessage: "blabla"}
valueDescription:
-Length: {max: 115, maxMessage: "blabla", min: 5, minMessage: "blabla"}
description:
- Length: {max: 5000, maxMessage: "blabla"}
これがある種の愚かな間違いであることが判明した場合、皆さんを悩ませて申し訳ありません. 誰かが私を助けてくれれば、私に大きな恩恵をもたらすでしょう(そして、私たちのプロジェクトが意図したとおりに機能すれば、世界にも恩恵をもたらす可能性があります)。