Javascript 验证文件是否存在

Javascript 验证文件是否存在,javascript,jquery,validation,Javascript,Jquery,Validation,我有一个JavaScript函数,它希望验证是否填充了两个文件输入中的一个,尽管目前我遇到了一个问题,即只有在填充了两个输入字段时,验证才会起作用(即错误消息将隐藏) 为什么我会得到这个 function validateFileInput() { var ownImage = $('#fileField').val(); console.log(ownImage); var defaultImage = $('#defImage').val(); console

我有一个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
然而,如果我只上传一个图像,验证失败。如果其中一个输入字段有上载,我希望验证通过。

如果希望填充其中一个字段,则
if(ownImage==“| | defaultImage==”)
应为
if(ownImage==“&&defaultImage==”)

i、 e.仅当xy为空时显示错误消息。如果其中一个已填充,则继续。

如果要填充其中一个,则
If(ownImage==“| | defaultImage==”)
应为
If(ownImage==“&&defaultImage==”)

i、 e.仅当xy为空时显示错误消息。如果其中一个已填充,则继续。

我认为行

if (ownImage == "" || defaultImage == "") {
应该读

if (ownImage == "" && defaultImage == "") {
如果两次上载中的一次为空,则第一个代码将激活错误过程

最后一个代码将激活错误过程,如果两次上传都是空的

我认为行

if (ownImage == "" || defaultImage == "") {
应该读

if (ownImage == "" && defaultImage == "") {
如果两次上载中的一次为空,则第一个代码将激活错误过程

如果两次上传都是空的,则最后一个代码将激活错误过程

if (ownImage == "" && defaultImage == "") 
它基本上是这样工作的

if (file1 is uploaded AND file2 is uploaded ){
//True only if Both conditions satisfied.
}
它检查“ownImage”是否没有值,“defaultImage”也没有任何值。您使用了OR布尔运算符,即使只满足一个条件,也会使条件为真。

您需要使用

if (ownImage == "" && defaultImage == "") 
它基本上是这样工作的

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

它检查“ownImage”是否没有值,“defaultImage”也没有任何值。您使用了OR布尔运算符,即使只满足一个条件,也会使条件为真。

@Richlewis否,如果要进行该检查,您需要
如果(ownImage!=“”&&defaultImage!=“”)
取决于您的逻辑,您可能有一个双负数。如果两者都为空,则希望显示错误消息。如果你颠倒if,可能更容易阅读。谢谢你的解释,我可以看到并理解逻辑now@Richlewis不,如果你想检查,你需要
如果(ownImage!=“”&&defaultImage!=“”)
取决于你的逻辑,你有一种双重否定。如果两者都为空,则希望显示错误消息。如果你反转if,可能更容易阅读。谢谢你的解释,我现在可以看到并理解逻辑了