jQuery验证和图像文件

时间:2016-06-07 07:49:03

标签: javascript c# jquery asp.net-mvc-4 unobtrusive-validation

好的我有这样的情况,我将我的图像文件发布到服务器但在此之前我验证用户是否使用“必需”属性选择文件。还使用java功能预览图像。现在的问题是在编辑模式的情况下,当信息被加载到页面我显然没有加载图像文件,而是我只是创建预览路径并将其分配给imagepath。因此,当我再次编辑后保存信息时,请问“需要图像”。系统是正确的,因为我没有选择任何图像。我该如何解决这个问题?我想强制执行jquery验证,但在编辑模式下,它应该跳过图像验证步骤。

脚本

<script>
function readURL(input) {
    if (input.files && input.files[0]) {
        var reader = new FileReader();            
        reader.onload = function (e) {
            $('#imgpreview1').attr('src', e.target.result);
        }

        reader.readAsDataURL(input.files[0]);
    }
}

$("#file").change(function () {
    readURL(this);
});


<script/>                    

查看

@Html.Label("Venue Description Background") 
@Html.TextBoxFor(model => model[0].Image.ImageFile, new { type = "file", id="file", required="required"})

<img src="@Model[0].Image.ImagePath" id="imgpreview1"  style="height:150px;width:150px"/>

型号

   public iSPYImage Image { get; set; }

    [DisplayName("Image File")]
    public HttpPostedFileBase ImageFile{ get; set;}

1 个答案:

答案 0 :(得分:2)

在视图定义中使用某些条件。类似的东西:

if(editMode)
     @Html.TextBoxFor(model => model[0].Image.ImageFile, new { type = "file",        id="file"})
else
     @Html.TextBoxFor(model => model[0].Image.ImageFile, new { type = "file", id="file", required="required"})