@using Kendo.Mvc.UI
@using StudentManage.Common.Helper
@model StudentManage.Models.Home.ImportDataFromFileModel
<style>
.hiddenBox {
display: block;
border: none;
width: 0;
height: 0
}
</style>
<script>
var fileName;
function onSelect(e) {
fileName = $("#FileName").val() + getFileInfo(e);
$("#FileName").val(fileName);
}
function onRemove(e) {
fileName = $("#FileName").val().replace(getFileInfo(e), "");
$("#FileName").val(fileName);
} function getFileInfo(e) {
return $.map(e.files, function (file) {
var info = file.name;
return info;
}).join(", ");
}
</script>
<form action="@Url.Action("ImportDataFromFile", "Home")" id="importForm" method="post" class="panel panel-default form-horizontal panel-body">
<div class="form-group">
@Html.RequiredIndicatorLabelFor(m=> m.FileName, new { @class = "col-sm-3 control-label no-padding-right" })
<div class="col-sm-4">
@Html.HiddenFor(m => m.DataSystemName, new { @class = "form-control" })
@(Html.Kendo().Upload().Name("files").Multiple(false).HtmlAttributes(new { accept = ".xls,.xlsx" })
.Events(events => events
.Remove("onRemove")
.Select("onSelect")
))
@Html.TextBoxFor(m => m.FileName, new { @class = "hiddenBox" })
@Html.ValidationMessageFor(m => m.FileName)
</div>
</div>
<div class="form-group">
<div class="col-sm-5 col-sm-offset-3">
<button class="btn btn-info" type="button" id="submitBtn">
确定
</button>
</div>
</div>
</form>
<script>
$(function () {
jQuery.validator.unobtrusive.parse();
$('#importForm').removeData('validator');
$('#importForm').removeData('unobtrusiveValidation');
$.validator.unobtrusive.parse('#importForm');
$("#submitBtn").click(function() {
if (!$("#importForm").valid()){
return false;
}
$("#importForm").submit();
return true;
});
});
</script>

 

Action

        #region 导入导出数据
[HttpGet]
public ActionResult ImportDataFromFile(string dataSystemName)
{
ImportDataFromFileModel model = new ImportDataFromFileModel()
{
DataSystemName = dataSystemName
};
return PartialView(model);
} [HttpPost]
public async Task<ActionResult> ImportDataFromFile(IEnumerable<HttpPostedFileBase> files)
{
//DataTable dataTable = await NpoiHelper.ExcelToDataTable("Sheet1", true, files.First());
//for (int i = 0; i < dataTable.Rows.Count; i++)
//{ // //var enterprise = new Enterprise();
// //enterprise.Id = Guid.NewGuid();
// //if (dataTable.Rows[i][enterpriseNameColumn] != null)
// //{
// // var content = dataTable.Rows[i][enterpriseNameColumn]?.ToString().Trim();
// // var clearName = content.Length < 100 ? content : content.Substring(0, 100);
// // if (enterpriseNames.Contains(clearName)) continue;
// // enterprise.EnterpriseName = clearName;
// //}
//}
return RedirectToAction("Index","StudentManage");
} #endregion

kendo upload必填验证的更多相关文章

  1. RequiredFieldValidator控件--必填验证控件

    RequiredFieldValidator控件: ·RequiredFieldValidator控件也被称之为必填验证控件,顾名思义,也就是与RequiredFieldValidator控件关联的控 ...

  2. WPF验证之——必填验证

    要事先必填验证,首先要重写ValidationRule类的Validate方法,然后在Binding中指定对应的ValidationRule. 第一步:重写ValidationRule的Validat ...

  3. js页面字段的必填验证方法

    https://blog.csdn.net/fn_2015/article/details/73498462 <script type="text/javascript" s ...

  4. ASP.NET中Textbox后的必填验证控件RequiredFieldValidator的使用方法。

    制作效果如下: 实现方法: 1. 拖动RequiredFieldValidator控件到相应的textbox后位置,点击属性面板,输入ErroMessage相应信息,更改ForeColor为红色 设置 ...

  5. Layui 必填验证

    lay-verify="required"

  6. Element 中表单非必填数据项 必须为数字的验证问题

    Element-ui 的el-form组建中,自带基本的验证功能,比如某些项必填的验证,直接加入rules 规则中即可,如下实例: 在页面中书写如下: <el-form-item label=& ...

  7. PHP 表单验证 - 必填字段

    -------------------------------------------------------------------------- 本节展示如何制作必填输入字段,并创建需要时所用的错 ...

  8. easyui-combogrid必填为空时无法通过表单验证的问题

    在使用easyui-combogrid时,由于html解析出的格式是如下三层: <td> <input id="txcombo" class="easy ...

  9. 验证页面多个input文本的必填项

    前台页面 JS : function CheckMustWrite(){ var count = $("input[mustwrite = 'true']", document.f ...

随机推荐

  1. 一天带你入门到放弃vue.js(三)

    自定义指令 在上面学习了自定义组件接下来看一下自定义指令 自己新建的标签赋予特殊功能的是组件,而指定是在标签上使用类似于属性,以v-name开头,v-on,v-if...是系统指令! v-是表示这是v ...

  2. mysql 查询近7天数据,缺失补0

    相信很多人的项目都有这种需求,就是查询近7天的记录,但是这7天总有那么几天是没数据的,所以缺失的只能补 0 下面的代码不知道能不能看懂,我简单的说一下思路 1)先查询红色字体的近7天,再转换成日期 2 ...

  3. 问题11:web前端开发规范手册(转)

    一.规范目的 1.1  概述 ..................................................................................... ...

  4. 自定义 绑定响应函数 解除响应函数 .addEventListener 兼容 .attachEvent

    嗯哼.不多说,直接上代码. // 自定义 绑定响应函数 兼容性封装 Test Already. function bindEventFunc(obj, eventStr, func){ // cons ...

  5. day27、28 二十八、项目:选课系统

    选课系统 作业要求 角色:学校.学生.课程.讲师 要求: 1. 创建北京.上海 2 所学校 ----> 创建学校 2. 创建linux , python , go 3个课程 , linux\py ...

  6. Python学习小纪

    1.打包发布*.py文件---"文件路径下打开命令行 d:\python\python.exe setup.py sdist" eg:打包发布f:\C\python\print_l ...

  7. 一篇搞懂python文件读写操作(r/r+/rb/w/w+/wb/a/a+/ab)

           关于文件操作的几种常用方式,网上已有很多解说,内容很丰富,但也因此有些杂乱复杂.今天,我就以我个人的学习经验写一篇详细又易懂的总结文章,希望大家看完之后会有所收获. 一.核心功能 ‘r’ ...

  8. LeetCode 240 - 搜索二维矩阵 II

    编写一个高效的算法来搜索 m x n 矩阵 matrix 中的一个目标值 target.该矩阵具有以下特性: 每行的元素从左到右升序排列.每列的元素从上到下升序排列.示例: 现有矩阵 matrix 如 ...

  9. 用sort方法输出数组

  10. 管理npm源命令

    nrm ls 查看源镜像 nrm add 自定义名称 源地址 nrm use 自定义名称