したがって、テキスト、整数、およびファイルのアップロード用のフィールドを持つマルチパートフォームがあります。
textAnnotationsとvalidationMessageForをtextフィールドとintフィールドに使用できますが、ファイルのアップロードには使用できません。そこで、ファイルのアップロードを検証するために次のコードを実装しました。
$(document).ready(function() {
$("#Error").hide();
var pdfFile = '<%=Model.PdfFile %>';
if (pdfFile == null || pdfFile1 == "") {
$("#Submit").click(function() {
var ext = $('#File').val().split('.').pop().toLowerCase();
var file = $('#File').val();
if ((!file || ext != 'pdf')) {
$('#Error').show();
return false;
}
return true;
});
}
});
このコードは、現時点で私が知る限りはうまく機能しますが、他のフィールドのチェックの前に実行されるため、ずさんなように見えます。つまり、ユーザーが[送信]をクリックしたときにフォームに複数のエラーがある場合、ファイルアップロードの検証メッセージが表示されますが、他のフィールドには表示されません。その後、ユーザーが有効なファイルをアップロードして[送信]をもう一度クリックすると、他のフィールドの検証メッセージが表示されます。ずさんな。そこで、テキストボックスにもjQuery検証を実装しようとしましたが、何らかの理由でこれが機能しません。
$(document).ready(function () {
$("#captionVal").hide();
$("#Submit").click(function () {
var caption = $("#Caption").val();
if (!caption || caption == "") {
$("#captionVal").show();
return false;
}
return true;
});
});
フィールドを常にnullとして読み取るように見えるため、trueを返すことはありません。
追加してみました
$("Caption").change(function() {
と同様
$("#Caption").bind(function() {
ifステートメントの前にありますが、役に立ちません。
また、jQuery検証を使用してみました
$(document).ready(function () {
$("#term").validate();
});
しかし、それはまったく何もしませんでした(おそらく私はプラグインの使い方を理解していませんか?)
だから私の質問は、どうすればテキストボックスを検証できますか?
本当に私がする必要があるのは、それらが空でないことを確認することです。送信クリックでエラーラベル(ポップアップではない)が表示されている場合、または検証プラグインを使用するにはどうすればよいですか?.zipファイルをダウンロードして.validate.jsファイルを追加(および参照)しましたが、.validateメソッドは何もしないようです。