私はSymfony2とFOSUserBundleを使用しています。
すでにデータベースにある登録フォームにユーザー名またはメールアドレスを入力すると、登録フォームの上部にエラーが表示されます。
ユーザー名/メールフィールドにエラーメッセージを表示するにはどうすればよいですか?
私はSymfony2とFOSUserBundleを使用しています。
すでにデータベースにある登録フォームにユーザー名またはメールアドレスを入力すると、登録フォームの上部にエラーが表示されます。
ユーザー名/メールフィールドにエラーメッセージを表示するにはどうすればよいですか?
FOSUserBundle をバンドルの親として設定した場合:
// src/Acme/UserBundle/AcmeUserBundle.php
<?php
namespace Acme\UserBundle;
use Symfony\Component\HttpKernel\Bundle\Bundle;
class AcmeUserBundle extends Bundle
{
public function getParent()
{
return 'FOSUserBundle';
}
}
次に、独自の validation.yml ファイルを config フォルダーに配置し、一意の制約の errorPath プロパティを次のように設定できます。
#validation.yml:
Acme\DemoBundle\Entity\User: # your user entity
constraints:
- Symfony\Bridge\Doctrine\Validator\Constraints\UniqueEntity: { fields: usernameCanonical, errorPath: username, groups: [CustomRegistration, Default] }
フォームの実際のフィールド名として errorPath を設定してください。
ドキュメントを読む 各フィールドを手作業でレンダリングする
{{form_errors(form.username)}}
{{form_errors(form.)}}
または、フォームのテーマを作成する Global Form Theming