zoukankan      html  css  js  c++  java
  • ASP.NET MVC轻教程 Step By Step 11——数据注解

    将验证规则写在Cotroller里不是一个好办法,这样会显得代码很啰嗦,更重要的是将业务逻辑写入Controller,使得Controller变得更“重”,不符合设计原则。更好的办法是使用验证注解属性,这些属性用于模型类中。

    打开Message类,添加注解属性。

    using System.ComponentModel.DataAnnotations;
    namespace MessageBoard.Models { public class Message { [Required(ErrorMessage = "昵称不能为空")] public string NickName { set; get; } [Required(ErrorMessage = "内容不能为空")] [MinLength(15,ErrorMessage = "内容不能少于15字")] public string Content { set; get; } public DateTime ReleaseDate { set; get; } } }

    数据注解特性定义在名称空间System.ComponentModel.DataAnnotations中,常用的注解特性包括

    属性名称

    描述

    Required

    标识该属性为必需参数,不能为空

    StringLength

    标识该字符串有长度限制,可以限制最小或最大长度

    Range

    标识该属性值范围,通常被用在数值型和日期型

    RegularExpression

    标识该属性将根据提供的正则表达式进行对比验证

    CustomValidation

    标识该属性将按照用户提供的自定义验证方法,进行数值验证

    接下来删除在Write动作方法中的验证代码。

            [HttpPost]
            public ActionResult Write(Message message)
            {
                if (ModelState.IsValid)
                {
                    message.ReleaseDate = DateTime.Now;
                    messages.Add(message);   
    return RedirectToAction("Index"); } else { return View(message); } }

    现在Write方法看起来简洁多了。页面运行结果与上一节一致,但程序代码简洁优雅了许多,所以使用数据注解完成验证功能是我们主要的手段。

  • 相关阅读:
    网络芯片应用:GPS公交车行驶记录仪
    “黑暗潜伏者” -- 手机病毒新型攻击方式
    Android导入工程提示Invalid project description
    设计模式_代理模式
    el简略说明与11个隐含对象
    jsp九大内置对象
    js全局函数
    python基础:multiprocessing的使用
    pgAdmin III 使用图解
    windows下简单安装postgres
  • 原文地址:https://www.cnblogs.com/nivi3000/p/4975678.html
Copyright © 2011-2022 走看看