來源:http://blog.tomasjansson.com/creating-custom-unobtrusive-file-extension-validation-in-asp-net-mvc-3-and-jquery爲什麼'jQuery'必須傳入此函數(請參閱最後一行代碼)?
$(function() {
jQuery.validator.unobtrusive.adapters.add('fileextensions', ['fileextensions'], function (options) {
var params = {
fileextensions: options.params.fileextensions.split(',')
};
options.rules['fileextensions'] = params;
if (options.message) {
options.messages['fileextensions'] = options.message;
}
});
jQuery.validator.addMethod("fileextensions", function (value, element, param) {
var extension = getFileExtension(value);
var validExtension = $.inArray(extension, param.fileextensions) !== -1;
return validExtension;
});
function getFileExtension(fileName) {
var extension = (/[.]/.exec(fileName)) ? /[^.]+$/.exec(fileName) : undefined;
if (extension != undefined) {
return extension[0];
}
return extension;
};
} (jQuery));
豈不jQuery的已經可用此功能中,爲什麼會在年底有傳遞嗎?我不明白這一點,之前我已經看過幾次,從來沒有使用過,所以很好奇這裏發生了什麼。
是不是'$'裏面'函數($){'? – Sergio
您確定此代碼有效嗎? AFAIK,匿名函數會立即用'jQuery'參數調用,'undefined'將作爲參數傳遞給'$()'函數,而這些AFAIU沒有任何意義。 – dbanet
猜測回答這個問題,從這裏拉它:http://blog.tomasjansson.com/creating-custom-unobtrusive-file-extension-validation-in-asp-net-mvc-3-and-jquery – BigOmega