Asp.Net Mvc后台数据验证自测小Demo
使用过MVC的同学一定不陌生MVC的模型绑定和模型校验,使用起来非常方便,定义好Entity之后,在需要进行校验的地方可以打上相应的Attribute,在Action开始时检查ModelState的IsValid属性,如果校验不通过直接返回View,前端可以解析并显示未通过校验的原因。
*、这里只做后台数据验证,利用mvc数据验证标记验证数据,并获取错误信息提示后页面中。
1、实现效果如下:


2、model类 People.cs
using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.Linq;
using System.Web; namespace WebTest.Areas.Validation.Models
{
public class People
{
public int ID { get; set; } [Required(AllowEmptyStrings = false, ErrorMessage = "用户名不可为空")]
[StringLength()]
public string Name { get; set; } [Required(AllowEmptyStrings = false, ErrorMessage = "密码不可为空")]
public string Password { get; set; }
}
}
3、视图Views: Index.cshtml
@{
ViewBag.Title = "Index";
}
<h2>校验</h2>
@using (Html.BeginForm("Get", "Default", FormMethod.Post, new { @class = "MyForm", @id = "" }))
{
<p> 用户 </p >
@Html.TextBox("Name")
@Html.ValidationMessage("Name")
<p> 密码 </p > @Html.TextBox("Password")
@Html.ValidationMessage("Password")
<input type = "submit" value = "提交" />
}
4、控制器Controller:DefaultController.cs
using System;
using System.Collections.Generic;
using System.Linq;
using System.Reflection;
using System.Web;
using System.Web.Mvc;
using WebTest.Areas.Validation.Models; namespace WebTest.Areas.Validation.Controllers
{
public class DefaultController : Controller
{
// GET: Validation/Default
public ActionResult Index()
{
return View();
} public ActionResult Get(People p)
{
//验证模型状态字典的此实例是否有效
if (ModelState.IsValid)
{
//验证通过,跳转
return Redirect("");
}
else
{
//验证不通过,返回当前页面
return View("Index");
}
}
}
}
Asp.Net Mvc后台数据验证自测小Demo的更多相关文章
- 【MVC】ASP.NET MVC之数据验证
前端传到后端数据的不可信任性,DRY("Don't Repeat Yourself") 设计原则.MVC3.0出了后端数据验证特性,鼓励你只定义一次功能或行为,然后在应用程序中各处 ...
- ASP.NET MVC 扩展数据验证 转
此文只作记录 public class MaxWordsAttribute : ValidationAttribute { public MaxWordsAttribute(int maxWords) ...
- Asp.net MVC 传递数据 从前台到后台,包括单个对象,多个对象,集合
今天为大家分享下 Asp.net MVC 将数据从前台传递到后台的几种方式. 环境:VS2013,MVC5.0框架 1.基本数据类型 我们常见有传递 int, string, bool, double ...
- <转>ASP.NET学习笔记之MVC 3 数据验证 Model Validation 详解
MVC 3 数据验证 Model Validation 详解 再附加一些比较好的验证详解:(以下均为引用) 1.asp.net mvc3 的数据验证(一) - zhangkai2237 - 博客园 ...
- MVC中数据验证
http://www.studyofnet.com/news/339.html http://www.cnblogs.com/kissdodog/archive/2013/05/04/3060278. ...
- ASP.NET MVC 后台接收集合参数和 jquery ajax 传值
MVC 接收参数数组(集合) 示例样本: public class Person { public string FirstName { get; set; } publi ...
- asp.net mvc3 的数据验证(一)
原文:asp.net mvc3 的数据验证(一) 对于web开发人员来说,对用户输入的信息进行验证是一个重要但是繁琐的工作,而且很多开发者都会忽略.asp.net mvc3框架使用的是叫做“ ...
- 序列化json对象,通过ajax传入asp.net mvc后台
序列化json对象,通过ajax传入asp.net mvc后台 序列化json对象,通过ajax传入asp.net mvc后台 今天遇到一个问题,准备把组织好的json对象通过jquery.aja ...
- 期货大赛项目|四,MVC的数据验证
上图先看下效果 样式先不说,先了解下数据验证是怎么实现的 一 必须是强类型的视图 二 这些显示提示的话语,都在强类型的实体中 三 必须使用Html.BeginForm或者Html.AjaxBeginF ...
随机推荐
- angular.js 字符串
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <script sr ...
- How to handle the DbEntityValidationException in C#
When I want to use db.SaveChanges(), if some of the columns got validation error and throw DbEntityV ...
- Java GC 日志输出分析
搜到的几篇讲GC日志的文章,学到了很多东西.但是有些错误或者不够精确的地方. 因此自己尝试着总结一下. 先写个程序,然后结合程序解释每句话的意思. 运行参数 -Xms200M -Xmx200M -Xm ...
- C++最后课程项目总结
第一次独立完成的C++小项目,40小时 + 5小时Update + 8小时Linux移植. 过程: 过程非常认真,一个星期主要就是忙这个,为了完成某个部分,有时饭都推迟吃,连续对着电脑10几个小时很累 ...
- 页面加载完成,但ie进度条一直加载
页面ajax执行完删除等操作,会刷新当前页面,如果前端框架是左右iframe格式 我的前端页面提示用asyncBox,可能iframe和asyncBox的影响,出现这种情况: 网上大多数的说法是 页面 ...
- ueditor的过滤、转义、格式丢失问题
1. 过滤 http://www.cnblogs.com/Olive116/p/3464495.html 2. 转义 http://segmentfault.com/q/101000000048928 ...
- Device.js——检测设备平台、操作系统的Javascript 库
http://segmentfault.com/a/1190000000373735 Device.js 是一个可以让你检测设备的平台,操作系统和方向 JavaScript 库,它会自动在 <h ...
- ASP.NET MVC轻教程 Step By Step 2 ——View初探
在上一节我们完成了一个最简化的MVC程序,最重要的是下面这段代码. public class HomeController : Controller { public string Index() { ...
- 如何调整iMindMap打印设置
打印何尝不是一种保存.导出iMindMap思维导图的一种方法,我们还可以通过调整打印设置来满足我们不同的需求.下面小编就给你翻一翻iMindMap中文版教程,教你怎样调整打印设置. 我们在打开iMin ...
- Unity3D内存释放
Unity3D内存释放 最近网友通过网站搜索Unity3D在手机及其他平台下占用内存太大. 这里写下关于Unity3D对于内存的管理与优化. Unity3D 里有两种动态加载机制:一个是Resourc ...