Skip to content

Commit 73035a6

Browse files
author
Marc TEYSSIER
committed
Merge pull request #7 from nguyenk/master
allow custom error messages & fix bugs : min / max fileSize were not tested
2 parents 8bb648a + f4e6df3 commit 73035a6

File tree

2 files changed

+38
-5
lines changed

2 files changed

+38
-5
lines changed

src/Mouf/Html/Widgets/JqueryFileUpload/JqueryFileUploadWidget.php

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -42,8 +42,11 @@ class JqueryFileUploadWidget implements HtmlElementInterface {
4242
protected $embedFormData;
4343

4444
protected $acceptFileTypes;
45+
protected $acceptFileTypesMessage = "Not an accepted file type";
4546
protected $maxFileSize;
47+
protected $maxFileSizeMessage = "Filesize is too big";
4648
protected $minFileSize;
49+
protected $minFileSizeMessage = "Filesize is too small";
4750
protected $maxNumberOfFiles;
4851
protected $disableValidation;
4952

@@ -320,6 +323,16 @@ public function setAcceptFileTypes($acceptFileTypes) {
320323
return $this;
321324
}
322325

326+
/**
327+
* The message to display when file doesnt match the $acceptFileTypes.
328+
*
329+
* @param string $acceptFileTypesMessage
330+
*/
331+
public function setAcceptFileTypesMessage($acceptFileTypesMessage) {
332+
$this->acceptFileTypesMessage = $acceptFileTypesMessage;
333+
return $this;
334+
}
335+
323336
/**
324337
* The maximum allowed file size in bytes.
325338
* Example: 10000000 // 10 MB
@@ -333,6 +346,16 @@ public function setMaxFileSize($maxFileSize) {
333346
$this->maxFileSize = $maxFileSize;
334347
return $this;
335348
}
349+
350+
/**
351+
* The message to display when file is bigger then $maxFileSize.
352+
*
353+
* @param string $maxFileSizeMessage
354+
*/
355+
public function setMaxFileSizeMessage($maxFileSizeMessage) {
356+
$this->maxFileSizeMessage = $maxFileSizeMessage;
357+
return $this;
358+
}
336359

337360
/**
338361
* The minimum allowed file size in bytes.
@@ -348,6 +371,16 @@ public function setMinFileSize($minFileSize) {
348371
$this->minFileSize = $minFileSize;
349372
return $this;
350373
}
374+
375+
/**
376+
* The message to display when file is smaller then $maxFileSize.
377+
*
378+
* @param string $minFileSizeMessage
379+
*/
380+
public function setMinFileSizeMessage($minFileSizeMessage) {
381+
$this->minFileSizeMessage = $minFileSizeMessage;
382+
return $this;
383+
}
351384

352385
/**
353386
* This option limits the number of files that are allowed to be uploaded using this widget.

src/templates/Mouf/Html/Widgets/JqueryFileUpload/JqueryFileUploadWidget.php

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -42,17 +42,17 @@
4242
var acceptFileTypes = <?= $acceptFileTypes ?>;
4343
if((data.originalFiles[0]['type'].length && !acceptFileTypes.test(data.originalFiles[0]['type']))
4444
&& (data.originalFiles[0]['name'].length && !acceptFileTypes.test(data.originalFiles[0]['name']))) {
45-
uploadErrors.push('Not an accepted file type');
45+
uploadErrors.push('<?= $acceptFileTypesMessage ?>');
4646
}
4747
<?php } ?>
4848
<?php if ($minFileSize) { ?>
49-
if(data.originalFiles[0]['size'].length && data.originalFiles[0]['size'] < <?= $minFileSize ?>) {
50-
uploadErrors.push('Filesize is too small');
49+
if(data.originalFiles[0]['size'].toString().length && data.originalFiles[0]['size'] < <?= $minFileSize ?>) {
50+
uploadErrors.push('<?= $minFileSizeMessage ?>');
5151
}
5252
<?php } ?>
5353
<?php if ($maxFileSize) { ?>
54-
if(data.originalFiles[0]['size'].length && data.originalFiles[0]['size'] > <?= $maxFileSize ?>) {
55-
uploadErrors.push('Filesize is too big');
54+
if(data.originalFiles[0]['size'].toString().length && data.originalFiles[0]['size'] > <?= $maxFileSize ?>) {
55+
uploadErrors.push('<?= $maxFileSizeMessage ?>');
5656
}
5757
<?php } ?>
5858
if(uploadErrors.length > 0) {

0 commit comments

Comments
 (0)