【问题标题】:How to validate if user has selected file to upload?如何验证用户是否选择了要上传的文件?
【发布时间】:2016-06-06 08:38:30
【问题描述】:

我需要使用JavaScript/jQuery 进行表单验证。我的表单有一个用户可以上传文件的输入字段和一个<td> 是输入字段的表格。像这样:

 <input type="file" name="file" class="filestyle" id="fajl" data-icon="false" accept=".pdf,.csv,.xlsx">

还有这个:

<table class="table table-bordered table-hover ">
<tbody>
<tr id="prvi_red">
<td><input type="text" name="user1_name" class="form-control" placeholder="12121212" required></td>
<td><input type="text" name="user1_surname" class="form-control" placeholder="Text" required></td>
<td><input type="text" name="user1_email" class="form-control" placeholder="Number" required></td>
</tr>

我还有一个按钮可以提交整个表单(上传文件和手动插入表格)。我尝试使用Parsley.js 验证插件来验证这样的表单:

$(document).ready(function(){
    $('#form1').submit(function(){
        if(($('#fajl').val()=='')){
            console.log('ovdje sam');
            var validateForm = $('#prvi_red').parsley().validate();
            if(validateForm){
                //do something
            }
        }
    });
});

还有这个:

$(document).ready(function(){
    $('#buton').click(function(){//when submit button is clicked
        if(($('#fajl').val()=='')){
            console.log('ovdje sam');
            var validateForm = $('#prvi_red').parsley().validate();
            if(validateForm){
                //do something
            }
        }
    });
});

如您所见,我想要实现的是在未上传文件的情况下验证表格输入字段。但在这两种情况下,上面的代码都没有任何反应。我尝试输入console.log('ovdje sam'); 只是为了测试脚本是否出现在该部分,但这也没有显示在控制台中。非常欢迎任何帮助。

【问题讨论】:

  • 尝试var file = $('#fajl')[0].files; if(file.length &gt; 0) 验证输入是否为空
  • 没有帮助。它不会在控制台中显示任何内容。
  • 你在输入类型文件中放了什么文件吗?
  • 不,我没有。如果type='file' 的输入为空,我正在尝试验证输入字段。抱歉,如果我误解了您的问题。
  • 如果输入不是这样的var file = $('#fajl')[0].files; if(file.length &gt; 0) {alert('not empty')}else{alert('empty')}

标签: javascript jquery forms validation parsley.js


【解决方案1】:

最好的方法是在用户指定文件时删除属性required。收听文件输入上的input 事件并相应地更新其他输入。当它们更新时,您应该触发'input'(或调用parsley().validate()),以便删除显示的任何错误消息。

【讨论】:

    猜你喜欢
    • 2011-02-26
    • 2016-02-15
    • 2021-11-02
    • 2010-09-07
    • 2016-11-12
    • 1970-01-01
    • 2015-06-01
    • 2010-10-12
    • 1970-01-01
    相关资源
    最近更新 更多