javascript を使用してクライアント側のフォーム検証を実装しようとしていますが、エンティティまたはフォームで定義された検証をフィールドのデータ プロパティに入れて使用したいと考えています。
問題は、FormType 拡張機能内から制約を取得する方法に関する情報がわからない、または見つからないことです。
FormBuilder は検証を開始するために使用されるため、データにアクセスできる必要があると考えましたが、制約を取得する方法はないようです。
助けてくれてありがとう
javascript を使用してクライアント側のフォーム検証を実装しようとしていますが、エンティティまたはフォームで定義された検証をフィールドのデータ プロパティに入れて使用したいと考えています。
問題は、FormType 拡張機能内から制約を取得する方法に関する情報がわからない、または見つからないことです。
FormBuilder は検証を開始するために使用されるため、データにアクセスできる必要があると考えましたが、制約を取得する方法はないようです。
助けてくれてありがとう
以下を使用できます。
$validators = $form->getConfig()->getValidators();
フォームオブジェクトで
最後に解決策を見つけました。それは最高ではないかもしれませんが、私にとっては役に立ちます。
Validator サービスを FormTypeExtension に挿入しました。
それから私はすることができました
$this->validator->getMetadataFactory()->getClassMetadata($options['data_class']);
また、オプションで data_class を取得するために、サービス エイリアスを「フィールド」から「フォーム」に変更する必要がありました。
これが同じ問題を抱えている人に役立つことを願っています。
必要に応じて、詳細を公開できます。