Ограничить загрузку расширениями файлов в jQuery Validation

0

Я хочу выполнить проверку с помощью плагина jQuery Validation для type="file" input type="file". Я хочу ограничить форматы файлов doc,pdf,rtf, and docx.

Вот мой код:

  $("#contact-form").validate({ 
          onfocusout: function(e) {
              this.element(e);
            },
        rules:{

            resume:{
                required:true,
                extension: "docx|rtf|doc|pdf"
            }

        },
    resume:{
                required:"input type is required",                  
                extension:"select valied input file format"
            }


    });
  • 3
    выглядит хорошо jsfiddle.net/arunpjohny/Jq93a/1
  • 0
    спасибо Арун, я изменил свой вопрос
Показать ещё 1 комментарий
Теги:
jquery-validate

2 ответа

5
Лучший ответ

Вы никогда не объясняли проблему, связанную с вашим кодом:

$("#contact-form").validate({ 
    onfocusout: function(e) {
        this.element(e);
    },
    rules:{
        resume:{
            required:true,
            extension: "docx|rtf|doc|pdf"
        }
    },
    resume:{
        required:"input type is required",                  
        extension:"select valied input file format"
    }
});

Однако вы отправляете сообщения без использования messages. Это ошибка, которая, вероятно, нарушит плагин, или, по крайней мере, ваши пользовательские сообщения об ошибках будут проигнорированы.

Ваш код должен выглядеть так...

$("#contact-form").validate({ 
    onfocusout: function(e) {  // this option is not needed
        this.element(e);       // this is the default behavior
    },
    rules:{
        resume:{
            required:true,
            extension: "docx|rtf|doc|pdf"
        }
    },
    messages: {  // <-- you must declare messages inside of "messages" option
        resume:{
            required:"input type is required",                  
            extension:"select valid input file format"
        }
    }
});

Рабочая DEMO: http://jsfiddle.net/ZqxR2/

  • 0
    спасибо, тот же код, я пишу в моем приложении, он принимает только PDF-файл, если мы включаем файл DOC, он показывает ошибку
  • 0
    @sarath, моя демонстрация работает отлично, поэтому проблема не имеет ничего общего с кодом, который вы нам показали.
Показать ещё 2 комментария
1

Если вы не хотите создавать правило

просто используйте атрибут accept в input, как показано ниже

<input type="file" accept="doc,pdf,rtf,docx"/>

  • 1
    Пользователь может просто изменить тип файла в диалоговом окне, чтобы лучше было выполнить дополнительную проверку.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню