ファイルのクリア値に問題があります。検証エラーが原因でフォームの送信が失敗した場合、ファイル(字幕と透かし)があるフォームタイプはクリアされ、再度選択する必要がありますが、テキストなどの他のタイプは引き続き値を保持します。フォームを送信する前と同じ状態のままである必要があります。
以下は私のフォームタイプコードです:
public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder
->add(
'newName',
'text',
[
'mapped' => false,
'required' => false,
]
)
->add('subtitleFile', 'file')
->add('watermarkFile', 'file')
->add(
'xAxis',
'text',
[
'mapped' => false,
'required' => false,
]
)
->add(
'yAxis',
'text',
[
'mapped' => false,
'required' => false,
]
)
->add('start', 'submit');
}
そして、これはHTML入力ファイルがブラウザでどのように機能するかです。ページの更新後にこれらの要素を埋める方法はありません。ユーザーはファイルを再度選択する必要があります。これはセキュリティ上の理由によるものです。
HTML入力ファイルは基本的なアップロード手法です。より良いユーザーエクスペリエンスを作成するには、HTML5またはフラッシュを使用する必要があります(ただし、おそらく使用しないでください:))。たとえば、ファイルをすぐにアップロードして、一時ファイルに関する情報をフォーム要素に保存できます。
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加