MVC自带的校验

一、添加控制器Home和Model数据

public class UserInfo
{
    public int Id { get; set; }

    [StringLength(5,ErrorMessage="长度不能大于5")]
    [Required(ErrorMessage="姓名必填")]
    public string UserName { get; set; }

    [RegularExpression(@"^\d+$")]
    [Range(18, 120)]
    [Required(ErrorMessage = "*")]
    public int Age { get; set; }
}
public ActionResult Index()
{    //可初始化数据
    UserInfo userinfo = new UserInfo();
    userinfo.UserName = "111";
    userinfo.Age = 20;
    ViewData.Model = userinfo;
    return View();
}

二、为Index添加视图

<div>
  @{ Html.RenderPartial("Add"); }//指向Add视图
</div>

三、添加Add控制器

public ActionResult Add()
{

    return View();
}

[HttpPost]
public ActionResult Add(UserInfo userinfo)
{
    //ModelState.IsValid=true那么校验就是成功的。
    if (ModelState.IsValid)
    { 

    }
    return RedirectToAction("Index");
}

四、添加Add视图并创建强类型视图和支架模板

@Html.ValidationSummary(true):

1.input注明要验证是属于前台的,当某各原因导致前台无法进行验证,比如js没有成功加载的,
当后台if (ModelState.IsValid)失败后,错误信息就会显示到 @Html.ValidationSummary()
2.当前后台验证都通过,但某些逻辑验证没有通过,比如用记名密码错误的,可以手工添加错误信息,
ModelState.AddModelError("", "The current password is incorrect or the new password is invalid.");
这个也会显示到@Html.ValidationSummary()

@model MVC自带的校验.Models.UserInfo

@{
    Layout = null;
}

<!DOCTYPE html>

<html>
<head>
    <meta name="viewport" content="width=device-width" />
    <title>Add</title>
    <script src="~/Scripts/jquery-1.7.1.js"></script>
    <script src="~/Scripts/jquery.validate.js"></script>
    <script src="~/Scripts/jquery.validate.unobtrusive.js"></script>
</head>
<body>
    @using (Html.BeginForm()) {
        @Html.ValidationSummary(true)

        <fieldset>
            <legend>UserInfo</legend>

            <div class="editor-label">
                @Html.LabelFor(model => model.UserName)
            </div>
            <div class="editor-field">
                @Html.TextBoxFor(model => model.UserName)
                @Html.ValidationMessageFor(model => model.UserName)
            </div>

            <div class="editor-label">
                @Html.LabelFor(model => model.Age)
            </div>
            <div class="editor-field">
                @Html.TextBoxFor(model => model.Age)
                @Html.ValidationMessageFor(model => model.Age)
            </div>

            <p>
                <input type="submit" value="Create" />
            </p>
        </fieldset>
    }

    <div>
        @Html.ActionLink("Back to List", "Index")
    </div>
</body>
</html>

五、添加校验js文件

<script src="~/Scripts/jquery-1.7.1.js"></script>
<script src="~/Scripts/jquery.validate.js"></script>
<script src="~/Scripts/jquery.validate.unobtrusive.js"></script>

时间: 2025-01-10 17:10:14

MVC自带的校验的相关文章

使用Spring Mvc 转发 带着模板 父页面 之解决方法 decorators.xml

周末了,周一布置的任务还没完成,卡在了页面跳转上,接手了一个半截的项目要进行开发,之前没有人给培训,全靠自己爬代码,所以进度比较慢,而且加上之前没有用过 Spring Mvc 开发项目,所以有点吃力,不过接触了Spring Mvc近一个月的时间感觉 开发速度确实比 SSH快不少,不用一个一个的Bean去配置,直接扫描就OK了,可就是这样还是有些地方容易搞上一天也没搞多少进度,这不,被我新写的一个 Controller 的转发搞晕了,我本来要实现一个列表的分页查询,哪里想到点下一页的时候,除了我要

Java 自带MD5 校验文件

http://www.iteye.com/topic/1127319 前天第一次发表博客到论坛,关于Java文件监控一文,帖子地址在:http://www.iteye.com/topic/1127281 评论的朋友很多,下载代码的朋友很不少,感谢在论坛上看我帖子的朋友,还有回复评论的朋友,给我提供建议的朋友. 从这些建议中,虽然语言简短,但是却有的是一语中的,这里说一下一下关于帖子的代码中HashFile中的MD5文件校验算法, 该算法是使用Java自带的MessageDigest类,测试结果,

MVC学习Day02之校验

MVC校验有两种方法: 方法一:自己动手写js---------略 方法二: l在View的页面中,首先指定页面强类型@model 类型 l使用Html.***For(model=>model.Property)生成表单,这些表单元素中就会包含校验规则属性 l引用jquery.jquery校验.jquery隐式校验3个组件 l通过Html.EnableClientValidation(true);控制客户端验证的启用与禁用(mvc3中自动开启) l使用Html.ValidationMessage

MVC 模型js远程校验的使用方法

我们在网站注册的时候往往需要在用户注册完毕的时候显示用户名是否可用,这就要用到模型的远程校验了.具体如下. [Required(ErrorMessage = "用户名不能为空"), Remote("ValidateUserName", "CommonWebApi", AreaReference.UseRoot, ErrorMessage = "用户名已被占用")] [StringLength(100, ErrorMessage

ASP.NET MVC 实现带论坛功能的网站 第一步——实现用户注册

首先我们要实现用户的注册功能.进入visual studio 点击文件->新建->项目->选择ASP.NET Web应用程序(.NET Framework)->选择的模板为MVC.创建成功的项目应该是这样的 这个时候在View文件夹下面Home文件夹有三个系统默认创建的三个.cshtml的网页文件,对于我们来说我们是不需要的所以可以把它删除掉,然后View文件夹下面还有个share文件夹下的东西也是我们不需要的一起删除掉,最后把View文件夹下的_ViewStart.cshtml也

ASP.NET MVC 实现带论坛功能的网站 第一步——-实现用户注册.

首先我们要实现用户的注册功能.进入visual studio 点击文件->新建->项目->选择ASP.NET Web应用程序(.NET Framework)->选择的模板为MVC.创建成功的项目应该是这样的 这个时候在View文件夹下面Home文件夹有三个系统默认创建的三个.cshtml的网页文件,对于我们来说我们是不需要的所以可以把它删除掉,然后View文件夹下面还有个share文件夹下的东西也是我们不需要的一起删除掉,最后把View文件夹下的_ViewStart.cshtml也

RAID磁盘阵列详解之RAID 5的配置与无人值守(带分散校验的数据条带)

RAID 5磁盘阵列介绍: RAID 5磁盘阵列由N (N>=3) 块盘组成阵列,一份数据产生N-1个条带,同时还有1份校验数据,共N份数据在N块盘上循环均衡存储. RAID 5具有和RAID 0相近似的数据读取速度,只是多了一个奇偶校验信息,写入数据的速度比对单个磁盘进行写入操作稍慢.同时由于多个数据对应一个奇偶校验信息,RAID 5的磁盘空间利用率要比RAID 1高,存储成本相对较低,是目前运用较多的一种解决方案. 可靠性高,允许坏1块盘,不影响所有数据. RAID 5磁盘阵列的配置: 1.

mvc自带的异步

1 public ActionResult GetDate() 2 { 3 return Content(DateTime.Now.ToString()); 4 } 5 public ActionResult MicrosoftAjax() 6 { 7 return View(); 8 } 后台页面 1 @{ 2 Layout = null; 3 } 4 5 <!DOCTYPE html> 6 7 <html> 8 <head> 9 <meta name=&quo

错误笔记——MVC自带验证

引用验证:                    添加验证模型: 页面添加模型:           调用时候    1.所有的错误信息(验证不过)原因显示 如图: 2.一定要是后台传到页面的控件 3.单个错误信息显示. 如图: 注意:必须是后台生成的输入框才能触发验证.页面生成的文本框,不能触发验证.