asp.net - 使用 jQuery 对 FILE 类型的 INPUT 进行客户端验证,无需回发

标签 asp.net jquery jquery-validate asp.net-mvc-3

我想在提交表单之前检查客户端是否已选择文件。

<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>

@using (Html.BeginForm("Upload", "Files", FormMethod.Post, new { enctype = "multipart/form-data" }))
        { 
            <input id="File" name="File" type="file" size="80" />
            <input type="submit" name="name" value="Upload" />    
        }

目前此表单正在进行回发以进行验证。出了什么问题?

最佳答案

@xOn 关于无法修改文件元素的说法是正确的,但您应该能够验证它。

这是一个文件元素,它在提交之前使用不显眼的验证来确保字段具有值和正确的扩展名。

<input type="file" 
    id="myImg" 
    name="logo" 
    data-val="true" 
    data-val-required="Oops, select the logo first!"
    accept="jpg|jpeg"
    data-val-accept="Sorry, we only accept jpegs." />

关于asp.net - 使用 jQuery 对 FILE 类型的 INPUT 进行客户端验证,无需回发,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4577296/

相关文章:

javascript - 鼠标滚轮方向不起作用

javascript - window.close() 不工作(最初通过 JS/JQuery 打开)

ajax - 一些 ajax 调用后的浏览器性能

php - 肯定是一个愚蠢的错误,但我看不到

c# - ASP.Net MVC - 无法识别 'this HtmlHelper'

c# - 在实时环境的 cookie 上启用 SSL,在开发环境中启用非 SSL

jquery 验证带有连字符的名称生成错误

插入 DOM 的表单的 jQuery 验证

c# - 如果未设置,ListItem.Value 将覆盖 Text

c# - 回发后保留值