如何使用jquery验证asp.net FileUpload控件。 我需要验证两件事,当用户单击“确定”按钮时,FileUpload不应该为空,并且它应该只包含excel和csv文件。
请帮忙。
答案 0 :(得分:6)
您可以在扩展程序上验证...
$('form').submit(function(event) {
var file = $('input[type=file]').val();
if ( ! file) {
alert('The file is required.');
event.preventDefault();
return;
}
if (file.match(/\.(?:csv|xl)$/)) {
alert('CSV or Excel files only!');
event.preventDefault();
}
});
...或者您可以验证mime类型。
$('form').submit(function(event) {
var file = $('input[type=file]').prop('files')[0];
if ( ! file) {
alert('The file is required.');
event.preventDefault();
return;
}
var mime = file.type;
if (mime != 'text/csv' || mime != 'application/vnd.ms-excel') {
alert('CSV or Excel files only!');
event.preventDefault();
}
});
当然,您还需要在服务器上进行验证,此代码仅供JavaScript用户使用。
另外,选择比alert()
更好的东西。它们不是报告错误的最用户友好方式。
答案 1 :(得分:2)
您可以让jQuery validation插件为您执行此操作:
$(document).ready(function() {
$("#form").validate({
rules: {
MyFile: {
required: false,
accept: "jpg|jpeg|png|gif"
}
}
});
$("#submit").click(function() {
var file = $('#MyFile').val();
if($("#create_form").valid()) {
if(file != '') {
// do something
}
}
});
});