0

有人可以帮我对 HttpPostedFileWrapper 对象进行模型验证吗?

模型:

[Required(AllowEmptyStrings = false)]
public HttpPostedFileWrapper BlahFile { get; set; }

控制器:

   [HttpPost]
    public ActionResult LoadBlahData(BlahModel blahModel) 
    {
        if (!ModelState.IsValid)
            return RedirectToAction("Index");
    }

cshtml:

@using (Html.BeginForm("LoadBlahData", "Admin", FormMethod.Post, new { @class = "blahhForm", enctype = "multipart/form-data", id = "uploadBlah" }))
{
    <fieldset>
        <legend>Upload Blah Information</legend>
        @Html.LabelFor(x=>x.BlahFile, "Upload Blah file:")
        <input size="26" class="uploader" type="file" name="BlahFile" />
        <p><input class="ttButton" type="submit" value="Load Stuff" /></p>
    </fieldset>
}

问题:

  1. 看不到添加到 html 的“data-val*”属性。
  2. 不关闭不显眼的验证(输入框上的红色边框)

笔记:

  1. 模型中的其他项目在验证方面工作正常,只有<input type="file"/>它似乎有问题。
  2. 进入操作方法很好 - (即 - 如果我愿意,我可以访问 InputStream)。
  3. 所有脚本都被正确引用(它适用于普通文本输入)

提前致谢,

4

2 回答 2

0

您尚未向元素添加任何数据属性。像这样添加,

<input data-pk="1" size="26" class="uploader" type="file" name="BlahFile" />

并且不支持验证<input type="file"

于 2011-05-05T06:54:41.193 回答
0

只是对于遇到此问题的其他人,您也可以这样做-

<%: Html.TextBoxFor(x => x.BlahFile, new { type = "file" }) %>
于 2011-07-20T15:08:28.203 回答