0
コントローラー内でFOSUserBundle固有のバリデーターを使用しようとしています。FOSUserBundleコントローラーの一意のバリデーター
<constraint name="FOS\UserBundle\Validator\Unique">
<option name="property">dni</option>
<option name="message">The value for DNI is already registered</option>
<option name="groups">
<value>AppRegistration</value>
<value>Profile</value>
<value>UpdateOldUsers</value>
</option>
</constraint>
しかし、私は、コントローラ上でそれを呼び出すとき(this次):私は私のvalidation.xml
で定義されているように私が検証されなければならない私のエンティティのどのプロパティを選択することができ
use FOS\UserBundle\Validator\Unique;
public function acceptNewTosAction(Request $request) {
if ($request->getMethod() == 'POST') {
$form->bindRequest($request);
$uniqueConstraint = new Unique(array('property' => 'dni'));
$formData = $request->request->get('old_user');
$dni = $formData['dni'];
$uniqueError = $this->get('validator')->validateValue($dni, $uniqueConstraint);
私はこのエラーを取得します: Expected argument of type FOS\UserBundle\Model\UserInterface, string given
このように進むことはできますか?私はコントローラに独自のバリデータを実装する必要がありますか? 多くのありがとうございます。