更新:
symfonyのドキュメントによれば、長さを主張し、したがって、なぜそれが(http://symfony.com/doc/current/reference/constraints/Length.html#min)を通過し、有効としてNULL &空の文字列を想定しています。
アサート\ NotBlankを(追加)、これは空の文字列
検証しますしてください - symfonyのフォームビルダーが何をするか
を例えば、フォーム要素にフォームの検証オプションを追加します:
<input name="my_field" required>
デスクトップブラウザでは、このフォーム要素は、(クライアント側)&空の場合に必要とされていること、フォームが送信されることを防ぐ検証します。モバイルデバイスでは、フォームを自動的に検証しません(私はまだこの理由を見つけていますか?)。モバイル/タブレットで無効なフォームが送信されないように、javascriptフォームの検証を追加する必要がありますデバイス。
フォームが正しくエンティティクラスにマッピングされていることを確認してください:
// AppBundle/Form/EntityForm.php
<?php
namespace AppBundle\Form;
class EntityForm extends AbstractType
{
// ...
public function configureOptions(OptionsResolver $resolver)
{
$resolver->setDefaults([
'data_class' => 'AppBundle\Entity\MyEntity',
]);
}
}
をsymfonyは注釈を検証確保するために、あなたのアプリケーション/設定/ config.ymlに
# app/config/config.yml
framework:
validation: { enable_annotations: true }
これを追加してくださいしてくださいオブジェクトの検証に使用するコードを表示します。 – xabbuh
コードはありません。私にとっては、検証IDは@AssertとSymfonyのメカニズムを介して行われました、いいえ? – Laurent
さて、問題は、( '$ form-> isValid()'のような)バリデータを呼び出したことがあるのか、単にクライアント側の検証に頼っているのかということです。 – xabbuh