0
こんにちは、今日私はajax経由で送信するファイル(画像があります)の検証を行う必要があります。ファイルデータがajax経由で送られてくるのではない:/それは私たちのファイルコレクションを有効にし、エラーメッセージをそのpropertyPathに設定できるsymfony用のコードです。Symfony2 AJAX経由で送信されたファイルを検証する方法
$validatorImage = new Image(); // Symfony\Component\Validator\Constraints\Image
$validatorImage->mimeTypesMessage = 'image.mimeTypesMessage';
if ($form->isSubmitted()) {
$i = 0;
foreach ($form->get('images') as $image) {
$errorList = $this->get('validator')->validateValue(
$image->get('file')->getData(),
$validatorImage
);
if (count($errorList)) {
foreach ($errorList as $error) {
$image->addError(
new FormError(
$error->getMessage(),
null,
array(),
null,
array('propertyPath' => 'children[images].data['.$i.'].file')
)
);
}
}
$i++;
}
}
//等、これと同じような 私たちのjsアクション有効です。
$('form[name="product"]').on('submit', function() {
var _self = $(this);
var data = _self.serialize();
data = new FormData(_self[0]);
data.append('ajax',true);
$.ajax({
method: "POST",
url: url,
data: data,
cache: false,
contentType: false,
processData: false,
enctype: 'multipart/form-data',
});
});
こんにちは、お返事ありがとう、私はテストし、私は家に帰るときに再びそれをrząd。 $ request-> isXmlHttpRequest()フォームがajaxによってサブミットされているかどうかをチェックする方法です。 –
はい、フォームがajax経由で提出された場合はtrueを返します。 – Jeet