有人知道如何验证文件类型输入。
我修改了(硬编码)class.vf_file.php输入。
$strOutput .= "<input accept=\".pdf,.doc,.docx\" etc----/>\n";
这对Google Chrome有帮助,但Safari,Firefox会忽略修改
如果检测到任何其他类型的文件,阻止用户提交表单将是理想的解决方案。
谢谢
答案 0 :(得分:0)
我建议使用像Plupload这样的第三方文件上传库。我们总是将ValidForm Builder与Plupload一起使用;就像一个魅力。
但是,您可以使用meta
数组在<input>
标记中实现自定义属性,而无需对任何内容进行硬编码:
$objForm->addField(
"upload-document",
"Upload Document",
ValidForm::VFORM_FILE,
array(), // Validation array
array(), // Error handling array
array( // Meta array
"fielddata-extensions" => "pdf,doc,docx"
)
);
通过在元字符前添加“字段”前缀,您可以将该特定元数据添加到<input>
字段本身,而不是将其包裹<div class='vf__optional'></div>
以上示例将输出:
<div class="vf__optional">
<label for="upload-image">Upload Image</label>
<input type="hidden" name="MAX_FILE_SIZE" value="2097152">
<input type="file" value="" name="upload-image[]" id="upload-image" class="vf__file" data-extensions="pdf,doc,docx">
</div>
因此,使用元和第三方文件上传处理程序的组合,您实际上可以非常酷。
话虽如此 - 我必须承认,文件上传字段最近没有像其他字段类型那样受到关注。