表单验证阻止我提交,因为表单中存在包含无效数据的非必填字段。
假设是这样吗?
以下是我的问题的详细方案:
我的表单中有一个input type file
元素。此元素可以为空,不需要。我已经为文件的类型和大小添加了一些验证。以下是元素的HTML结构。
<input
type="file"
class="file-upload-component form-control"
name="letters"
id="letters-file-upload-component"
data-fv-notempty="false"
data-icon="false"
data-buttonname="btn-primary"
data-fv-file="true"
data-fv-file-extension="jpeg,jpg,png,pdf"
data-fv-file-type="image/jpeg,image/png,application/pdf"
data-fv-file-maxsize="5000000"
data-fv-file-maxfiles="2"
data-fv-file-message="Please upload a file in correct size (less than 5MB) and supported formats (pdf, jpg, png) only."
data-fv-field="letter"
tabindex="-1"
style="position: absolute; clip: rect(0px, 0px, 0px, 0px);"
>
现在,当我尝试上传大小超过指定大小的无效文件类型或文件时,表单验证会触发并显示验证消息。这很完美!
但是当我尝试提交表单时,它没有发生,因为表单中存在无效字段(和非必需)字段。
目前的解决方案是:我目前的解决方案是在提交表单之前重置字段 但我想在不收听表单提交事件的情况下这样做。