次のコードがあります。
public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder
->add(
$builder->create(
'href',
'url',
$this->getOptionsForUrlWidget('Website URL')
)->addEventSubscriber(new GetResolvedUrlListener())
)
...
私のメソッドGetResolvedUrlListener
は、curl リクエストを実行して正しいプロトコルと最終アドレス (リダイレクトに続く) を検出し、正しい URL を決定します。
curl リクエストが正常な HTTP レスポンスを受信しない場合、検証が失敗するようにしたいと考えています。したがって、指定された URL に到達できない場合は、保存しないでください。
これは、EventSubscriberInterface を実装するクラスで実行できますか? 新しい制約を追加して、提供された URL を 2 回検証する必要がありますか?