表单验证阻止我提交,因为表单中存在包含无效数据的非必填字段。
是不是应该是这样的?
以下是我的问题的详细情况:
我的表单中有一个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);"
>
现在,当我尝试上传无效文件类型或大小超过指定大小的文件时,表单验证正在触发并显示验证消息。太棒了!
但是当我尝试提交表单时,它不会发生,因为表单中有一个无效字段(和非必需)字段。
目前的解决方案是:我目前的解决方案是,在提交表单之前重置字段 但我想在不听表单提交事件的情况下这样做。