Я не парень MVC, но я знаю, что у вас есть два варианта, которые должны работать здесь только со строгой точки зрения JS / FORMS ...
Форма имеет событие - onsubmit - если у вас естьобработчик события, который возвращает false для события onsubmit, отправка не произойдет.Точно так же, если у вас есть обработчик события onclick для кнопки отправки, возвращение false отменяет щелчок, следовательно, и форму сообщения.
Вот пример, основанный на отправке формы:
<form action="/myDir/myPage.ext" method="post" onsubmit="return validForm(window.event);">
....
</form>
Если вы реализуете метод validForm, он может выглядеть примерно так:
function validForm(e) {
var fullPath = document.getElementById('File1').value;
if (validateFileExtension(fullPath)) {
return true;
} else {
alert('Invalid extension for this file!');
return false;
}
}
function validateFileExtension(fullPath) {
var isValid = false;
// some logic to parse and validate extension
// if the logic passes, we set isValid to true.
return isValid;
}
С полностью реализованными вышеописанными методами вы можете использовать этот метод либо в событии onclick кнопки submit, либо всобытие отправки формы.В любом случае вы захотите проверить значение параметра «Ввод файла», убедиться, что расширение соответствует вашему желанию, и вернуть false, если расширение нарушает ваши бизнес-правила.Если вы вернете true, нажатие кнопки / отправка формы продолжится.Если вы вернете false, отправка формы или нажатие кнопки (в зависимости от того, к какому событию вы подключились) отменится - в любом случае, тот же результат - отправка формы не будет выполнена без того, что вы хотите в поле файла.кодирование.
B