gpt4 book ai didi

jquery - 使用 jQuery Validate 插件进行文件上传验证

转载 作者:行者123 更新时间:2023-12-01 00:37:06 24 4
gpt4 key购买 nike

我有一个奇怪的问题。我有一个带有文件上传和其他几个文本区域的表单。每个字段都是必需的。所以基本上,当少数字段留空时,验证工作正常,但当且仅当文件上传时留空,提交表单。

这是我的代码

 <li >
<p>
<label for="rad">radio label:
</label><br>

<input type="radio" name="rad" value="yes" style="width:20px">&nbsp; Yes&nbsp;&nbsp;</input>
<input type="radio" name="rad" value="no" style="width:20px">&nbsp; No</input><br/>
<label for="cv" class="error" style="display:none">This field is required</label>
</p>
<p>
<input type="file" name="fupl" style="display:none;margin-top:10px" id="fup"/>
<label for="fupl" class="error" style="display:none;color:red">This field is required</label>
</p>
</li>
<br>
<li>
<label>checkbox label
</label><br><br>
<input type="checkbox" name="cb" value="tick" style="width:20px">&nbsp;&nbsp; <small>checkbox field<small></input><br> <label for="fee" class="error" style="display:none">This field is required</label>
</li>
<br><li>
<input type="submit" class="button" value="SUBMIT" style="float:right"/>
</li>
<script>
$(document).ready(function()
{
$("input[type='radio']").change(function(){
if($(this).val()=="yes")
{
$("#fup").show();
}
else
{
$("#fup").hide();
}
});
});

这是我的 jquery

  $('#form').validate({
rules: {
fupl: {
required: true,
accept:'docx|doc'
},

最佳答案

您的代码似乎工作得很好。验证插件会忽略隐藏字段。但是,当您通过单选按钮显示文件上传字段时,它将验证并显示错误消息。请参阅:http://jsfiddle.net/y5ghU/

<小时/>

您的代码:

<input type="file" name="fupl" style="display:none;margin-top:10px" id="fup"/>

您的文件上传字段设置为 display:none;,默认情况下插件将忽略所有隐藏字段。

使用ignore: []选项禁用此功能。

$(document).ready(function () {

$('#form').validate({
ignore: [],
rules: {
fupl: {
required: true,
accept: 'docx|doc'
}
}
});

});

演示:http://jsfiddle.net/ptV35/

<小时/>

编辑:不太确定OP想要走哪条路,但是当文件上传字段重新隐藏时,以下演示会隐藏任何待处理的错误消息。

$("#fup").next('label.error').hide();

http://jsfiddle.net/y5ghU/4/

关于jquery - 使用 jQuery Validate 插件进行文件上传验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15147793/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com