当输入文件为空时验证输入文件

时间:2018-02-07 05:47:25

标签: javascript jquery asp.net-mvc razor

我有这个输入文件:

剃刀:

@Html.TextBox("archivo", "", new { type = "file",id = "archivo" }

HTML:

<input id="archivo" name="archivo" type="file" value="">

当我按下按钮时,如果输入值为空,我想捕获消息:

<button type="button" id="btnCargarCsv" class="btn btn-primary">Cargar</button>

所以在clic函数上我尝试发送消息为:

 $("#btnCargarCsv").on("click", function () {
        if ($('#archivo').val() == null) {
            $('#resultado').html('you need to select file');
        }
        var data = new FormData();
        data.append("archivo", $("#archivo")[0].files[0]);

        $.ajax({
            "type": "POST",
            "url": "/Configuracion/CargaCSV",
               ...

但是当输入为空时它不会抛出信息,因为它没有被击中:

$('#resultado').html('you need to select file');

类似输入不为空。我究竟做错了什么?

5 个答案:

答案 0 :(得分:2)

使用空字符串验证而不是null ..

另请参阅:Link了解null和空

之间的区别

可能:Link

$("#btnCargarCsv").on("click", function () {

    if ($('#archivo').val() == '') {
        $('#resultado').html('you need to select file');
        return;
    }

    var data = new FormData();
    data.append("archivo", $("#archivo")[0].files[0]);

    $.ajax({
        "type": "POST",
        "url": "/Configuracion/CargaCSV",
            ...

答案 1 :(得分:1)

检查长度。

if ($('#archivo').get(0).files.length === 0) {
       $('#resultado').html('you need to select file');
}

答案 2 :(得分:0)

试一试..!

 if ($('#archivo').get(0).files.length === 0) {
        //console.log("No files selected.");
        //alert("Please select file..");
         $('#resultado').html('you need to select file');

    }

希望这会有所帮助..!

答案 3 :(得分:0)

我不知道为什么你的代码不起作用。但是,只需在html中添加必需的标记即可完成文件验证(无效或无效)。

<input... [whatever be your type and value].. required/>

验证将通过这段代码完成。

也许它不是空的,用“”尝试并检查......

if($('#archivo').val()=="")
{
      //print your message
}
else
      //your logic goes here

答案 4 :(得分:0)

您可以检查变量是否具有真值。在你的情况下它将是

if(!$('#archivo').val()) {
  $('#resultado').html('you need to select file');
    return;
}

如果值 false,则为0,空字符串,NaN,未定义,null