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 ...
随机推荐
- Mapreduce概述和WordCount程序
一.Mapreduce概述 Mapreduce是分布式程序编程框架,也是分布式计算框架,它简化了开发! Mapreduce将用户编写的业务逻辑代码和自带默认组合整合成一个完整的分布式运算程序,并发的运 ...
- python基础篇_005_迭代器和生成器
Python迭代器和生成器 1.迭代器 迭代:可以将某个数据集内的数据“一个挨着一个的取出来” for i in range(1, 10, 2): # in 后面的对象必须是一个可迭代的 print( ...
- mybatis代码生成器——MyBatis Generator
1.maven依赖 a.加入依赖 <!-- mybatis生成工具 --> <dependency> <groupId>org.mybatis.generator& ...
- 利用NSE脚本检测域传送和证书透明度滥用
nslookup -type=NS <domain> <server> nmap -p 53 --script dns-zone-transfer --script-args ...
- 【Linux】-- 在linux上安装mysql及基本操作
1.MySQL的安装 1.删除mariadb数据库 yum remove mariadb-libs.x86_64 CentOS7默认安装mariadb数据库,所以要先删除 2.下载mysql源 进入m ...
- 识别拖动与点击操作之zepto的bug
问题描述:给页面<a>标签绑定了tap事件,在移动设备上点击按钮貌似一切正常,可以响应.但是,把页面上下滑动几次之后,或者在滑动时手指滑动出移动屏幕之外,之后再点击按钮,就会发现第一次点击 ...
- Python开发实战PDF
Python开发实战(高清版)PDF 百度网盘 链接:https://pan.baidu.com/s/1iP9VmwuzDMfdZTfpupR3CA 提取码:a523 复制这段内容后打开百度网盘手机A ...
- 杭电1506 java
求最大子矩阵面积(dp) import java.util.*; public class Main1{ public static void main(String[] args) { Scanne ...
- 顺序表的原理与python中的list类型
数据是如何在内存中存储的? 在32位的计算机上,1个字节有8位,内存寻址的最小单位就是字节.假设我们有一个int类型的值,它从0x10开始,一个int占据4个字节,则其结束于0x13. 那么数据类型有 ...
- [LeetCode] Linked List Components 链表组件
We are given head, the head node of a linked list containing unique integer values. We are also give ...