4

次のような状況があります: FormType クラス:

... 
$builder->add('fieldToValidate', 'number', array('required' => false))
...

モデルクラスで:

...
use Symfony\Component\Validator\Constraints as Assert;
...
/**
 * @var float $fieldToValidate
 *
 * @ORM\Column(name="fieldToValidate", type="float", nullable=true)
 * @Assert\Type(type="float", message="Must be a number.")
 */
private $fieldToValidate;

コントローラーのアクションで:

$entity = $this->getService('my_service')->findMyEntity($entityId);
$editForm = $this->createForm(new MyEntityType(), $entity, $myOptions);
$request = $this->getRequest();
$editForm->bindRequest($request);
if ($editForm->isValid()){

fieldToValidate に無効なデータ (例: "foo") を含むフォームを送信すると、例外が発生しました: Expected argument of type "numeric", "boolean" given コントローラーでコードをデバッグすると、行で 例外が発生$editForm->bindRequest($request); することに注意してください$editForm->isValid()。これはモデルとフォームで検証するためのものではありませんか?

4

1 に答える 1

1
/**
 * @Assert\Regex(pattern="/\d+/")
 */
于 2014-09-03T18:02:14.360 に答える