验证文件是否存在

时间:2014-07-14 12:59:43

标签: javascript jquery validation

我有一个javascript函数,希望验证是否填充了两个文件输入中的一个,但目前我遇到的问题是,只有两个输入字段都填充时验证才起作用(即错误消息将隐藏) ..

任何人都能明白为什么我会得到这个吗?

function validateFileInput() {
    var ownImage = $('#fileField').val();
    console.log(ownImage);
    var defaultImage = $('#defImage').val();
    console.log(defaultImage);

    if (ownImage == "" || defaultImage == "") {
        $('#image_error').addClass('error-message');
        $(".error-message").css('display', 'inline-block');
        return false;
    } else {
        $('#image_error').removeClass('error-message');
        $("#image_error").css('display', 'none');
        return true;
    }
}

在运行功能之前登录控制台时,我得到

ownImage = ""
defaultImage = ""

当我然后将文件上传到两个字段时,我得到下面的输出并验证通过

ownImage = "filename.jpg"
defaultImage = "4" // Im passing a data-attribute-id here

如果我只上传一张图片,则验证失败。如果其中一个输入字段有上传

,我希望验证通过

任何帮助表示赞赏

由于

3 个答案:

答案 0 :(得分:4)

如果要填充 ,则if (ownImage == "" || defaultImage == "")应为if (ownImage == "" && defaultImage == "")

即。仅当x y为空时才显示错误消息。如果填充了其中任何一个,则继续。

答案 1 :(得分:2)

我认为该行

if (ownImage == "" || defaultImage == "") {

应该阅读

if (ownImage == "" && defaultImage == "") {

如果两个上传中的一个为空,则第一个代码将激活错误程序

如果 上传都为空

,则最后一个代码将激活错误程序

答案 2 :(得分:1)

您需要使用

if (ownImage == "" && defaultImage == "") 

它基本上像这样工作

if (file1 is uploaded AND file2 is uploaded ){
//True only if Both conditions satisfied.
}

检查" ownImage"没有价值和" defaultImage"也没有任何值。你使用OR布尔运算符,即使只满足一个条件,条件为TRUE。