kendo upload必填验证
@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必填验证的更多相关文章
- RequiredFieldValidator控件--必填验证控件
RequiredFieldValidator控件: ·RequiredFieldValidator控件也被称之为必填验证控件,顾名思义,也就是与RequiredFieldValidator控件关联的控 ...
- WPF验证之——必填验证
要事先必填验证,首先要重写ValidationRule类的Validate方法,然后在Binding中指定对应的ValidationRule. 第一步:重写ValidationRule的Validat ...
- js页面字段的必填验证方法
https://blog.csdn.net/fn_2015/article/details/73498462 <script type="text/javascript" s ...
- ASP.NET中Textbox后的必填验证控件RequiredFieldValidator的使用方法。
制作效果如下: 实现方法: 1. 拖动RequiredFieldValidator控件到相应的textbox后位置,点击属性面板,输入ErroMessage相应信息,更改ForeColor为红色 设置 ...
- Layui 必填验证
lay-verify="required"
- Element 中表单非必填数据项 必须为数字的验证问题
Element-ui 的el-form组建中,自带基本的验证功能,比如某些项必填的验证,直接加入rules 规则中即可,如下实例: 在页面中书写如下: <el-form-item label=& ...
- PHP 表单验证 - 必填字段
-------------------------------------------------------------------------- 本节展示如何制作必填输入字段,并创建需要时所用的错 ...
- easyui-combogrid必填为空时无法通过表单验证的问题
在使用easyui-combogrid时,由于html解析出的格式是如下三层: <td> <input id="txcombo" class="easy ...
- 验证页面多个input文本的必填项
前台页面 JS : function CheckMustWrite(){ var count = $("input[mustwrite = 'true']", document.f ...
随机推荐
- python 的 virtualenv 环境搭建及 sublime 手动创建运行环境
一.安装 virtual env sudo pip install virtualenv二.进入一个空白的目录初始化 virtual env 的环境cd ~/workspace/python/virt ...
- 获取验证码倒计时60s
倒计时函数: function time(btns) { if (wait == 0) { btns.css("background-color","#F84C02&qu ...
- 迭代器&迭代对象&生成器
迭代器 & 迭代对象 & 生成器 包含__next__ 和 __iter__两个方法的对象为迭代器 __next__方法返回单个元素 __iter__方法返回迭代器本身 可迭代对象包含 ...
- React(五)State属性
React 里,只需更新组件的 state,然后根据新的 state 重新渲染用户界面(不要操作 DOM). 以下实例创建一个名称扩展为 React.Component 的 ES6 类,在 rende ...
- (65)Wangdao.com第十天_JavaScript 垃圾回收机制 GC
垃圾积累过多,致使程序运行缓慢,什么是垃圾? 当堆中某个内容,再也没有指针指向它,我们将再也用不了它,此时就是一个垃圾. 出现这种情况是因为 obj = null; 此时,js 中的垃圾回收机制会自动 ...
- vue_条件渲染_v-if_v-else_v-show
data: { ok: true flag: false } 1. 成对出现的 v-if 和 v-else 原理是: 标签的删除与重新创建 ,有些情况必须用 v-if <p v-if=" ...
- js上课笔记
Html 结构化CSS 样式JavaScript 行为交互01.JavaScript基础02.JavaScript操作BOM对象03.JavaScript操作DOM对象 *****04.JavaScr ...
- jexus System.BadImageFormatException Details: Non-web exception. Exception origin (name of application or object): App_global.asax_ai3fjolq.
Application ExceptionSystem.BadImageFormatExceptionInvalid method header format 0Description: HTTP 5 ...
- CodeForces #549 Div.2 C Queen
题目 水题,dfs #include <iostream> #include <stdio.h> #include <algorithm> using namesp ...
- PAT甲级1034 Head of a Gang【bfs】
题目:https://pintia.cn/problem-sets/994805342720868352/problems/994805456881434624 题意: 给定n条记录(注意不是n个人的 ...