Forms Typo3表单验证-允许的文件类型和最大文件大小
是否可以验证typo3(vers.7.6.23)表单中允许的文件类型(在我的示例中仅为*.pdf)和最大文件大小(在我的示例中最大为5mb)?也许有规则功能 我的表单如下所示:Forms Typo3表单验证-允许的文件类型和最大文件大小,forms,typo3,Forms,Typo3,是否可以验证typo3(vers.7.6.23)表单中允许的文件类型(在我的示例中仅为*.pdf)和最大文件大小(在我的示例中最大为5mb)?也许有规则功能 我的表单如下所示: enctype = multipart/form-data method = post prefix = tx_form confirmation = postProcessor { 1 = mail 1 { recipientEmail = xxx@xxx.de sen
enctype = multipart/form-data
method = post
prefix = tx_form
confirmation =
postProcessor {
1 = mail
1 {
recipientEmail = xxx@xxx.de
senderEmail = formmailer@xxx.de
subject = email subject
}
}
...
40 = FIELDSET
40 {
20 = FILEUPLOAD
20 {
type = file
name = Anschreiben
label {
value = Anschreiben
}
}
}
...
rules {
1 = required
1 {
showMessage =
message = Benötigt
error = Dies ist ein Pflichtfeld
element = Vorname
}
2 = required
2 {
showMessage =
message = Benötigt
error = Dies ist ein Pflichtfeld
element = Nachname
}
3 = email
3 {
showMessage =
message = (max.muster@domain.com)
error = Dies ist keine gültige E-Mail-Adresse
element = E-Mail
}
}
更新
感谢您向我介绍FileAllowedTypesValidator和FileMaximumSizeValidator
我试着在规则中加入这个想法:
rules {
4 = fileallowedtypes
4 {
breakOnError = 0
showMessage =
message = (%allowedTypes)
error = only pdf please!
types = application/pdf
element = Anschreiben
}
5 = filemaximumsize
5 {
breakOnError = 0
showMessage =
message = The file has to be smaller as %maximum
error = file is too big!
maximum = 5242880
element = Anschreiben
}
}
因为我有多个FileUpload字段,所以我为每个字段添加了这两条规则。现在查询可以正常工作了,当我上传错误的文件类型或大于5MB的文件时,我会收到一个错误
唯一的问题是,我不能让FileUpload字段为空;我总是遇到“错误的文件类型”错误。您可以使用下面的打字脚本
plugin.tx_form {
settings {
registeredValidators {
fileallowedtypes {
displayName = Allowed mimetypes for file
className = TYPO3\CMS\Form\Domain\Validator\FileAllowedTypesValidator
}
filemaximumsize {
displayName = Maximum size for file (bytes)
className = TYPO3\CMS\Form\Domain\Validator\FileMaximumSizeValidator
}
}
}
}
感谢您为我指明了fileallowedtypes和filemaximumsize的方向。我在规则中添加了这两个查询,但似乎fileallowedtypes在没有上传文件时也会提示错误消息。在我的例子中,用户应该可以选择将所有或部分文件上载字段留空。