<script type="text/javascript">
$.validator.addMethod('accept', function () { return true; });
</script>
@using (Html.BeginForm("Create","My controller",FormMethod.Post,new {enctype = "multipart/form-data"})) {
@Html.ValidationSummary(true)
<fieldset>
<div class="editor-field">
<input type="file" id="File" name="File" accept="image/*" />
</div>
JSがオンになっているファイルをアップロードできません([送信]をクリックすると、ファイル入力の周囲に黄色のフレームが表示され、それ以上何も起こりません)。
JSをオフにすると、フォームが送信されます。
上に3行あるので、ファイルアップロードフォームはJSで魔法のように機能します。これらは私のプロジェクトの1つで見つかりましたが、何をしているのか、なぜ必要なのか思い出せません。
これを説明してもらえますか?
編集
ビューのコード全体。
@using EDoctor.Properties
@using EDoctor.Resources
@model EDoctor.Models.DoctorProfileViewModel
@{
ViewBag.Title = "Create";
}
<h2>Create</h2>
<script src="@Url.Content("~/Scripts/jquery.validate.min.js")" type="text/javascript"></script>
<script src="@Url.Content("~/Scripts/jquery.validate.unobtrusive.min.js")" type="text/javascript"></script>
<script type="text/javascript">
$.validator.addMethod('accept', function () { return true; });
</script>
@using (Html.BeginForm("Create","DoctorProfiles",FormMethod.Post,new {enctype = "multipart/form-data"})) {
@Html.ValidationSummary(true)
<fieldset>
<legend>DoctorProfiles</legend>
<div class="editor-label">
@Html.LabelFor(model => model.Model.PhotoFileUrl)
</div>
<div class="editor-field">
<input type="file" id="File" name="File" accept="image/*" />
@Html.ValidationMessage("UploadFile")
</div>
<div class="editor-label">
@Html.LabelFor(model => model.Model.LicenseNumber)
</div>
<div class="editor-field">
@Html.EditorFor(model => model.Model.LicenseNumber)
@Html.ValidationMessageFor(model => model.Model.LicenseNumber)
</div>
<div class="editor-label">
@Html.LabelFor(model => model.Model.FirstName)
</div>
<div class="editor-field">
@Html.EditorFor(model => model.Model.FirstName)
@Html.ValidationMessageFor(model => model.Model.FirstName)
</div>
<div class="editor-label">
@Html.LabelFor(model => model.Model.LastName)
</div>
<div class="editor-field">
@Html.EditorFor(model => model.Model.LastName)
@Html.ValidationMessageFor(model => model.Model.LastName)
</div>
@Html.HiddenFor(model => model.Model.UserId)
<p>
<input type="submit" value="Create" />
</p>
</fieldset>
}
<div>
@Html.ActionLink("Back to List", "Index")
</div>