nopCommerce开发者指南(六):数据验证

原文链接:http://docs.nopcommerce.com/display/nc/Data+Validation

翻译 by:yersans,如有不妥,敬请指正,博主邮箱:[email protected]。转载请注明出处。

数据验证是指对程序操作的数据进行一定的处理以确保它是干净、正确并且有用的。大多数.NET开发者使用数据标注验证。但nopCommerce 使用的是 Fluent Validation。它是一个小型的.NET验证库,使用fluent 接口和lambda 表达式为业务对象生成验证规则。为nopCommerce的模型添加一个验证,你需要完成以下两个步骤:

1.创建一个AbstractValidator 的派生类,并其中包含所有的验证逻辑。如下所示:

   public class AddressValidator : AbstractValidator<AddressModel>
    {
        public AddressValidator(ILocalizationService localizationService)
        {
            RuleFor(x => x.FirstName)
                .NotEmpty()
                .WithMessage(localizationService.GetResource("Address.Fields.FirstName.Required"));
        }
    }

2.用验证属性标记你的模型类。如下所示:

    [Validator(typeof(AddressValidator))]
    public class AddressModel : BaseNopEntityModel
    {

当视图模型被传递到控制器时,ASP.NET就会进行适当的验证。

时间: 2024-11-06 06:20:44

nopCommerce开发者指南(六):数据验证的相关文章

ASP.NET MVC3 入门指南之数据验证[源码RAR下载]

http://www.cnblogs.com/BingoLee/archive/2011/12/23/2298822.html 前言: 无论你编写什么样的网页程序,都需要对用户的数据进行验证,以确数据的有效性和完整性. ASP.NET MVC3允许你采用一种被称之为“数据注释”的方式来进行数据验证,这种验证包含了客户端浏览器 和服务器端的双重验证.或许你会问为什么要进行两次验证?首先,客户端验证能够直接响应客户,减少了服务 器压力的同时还提高了用户体验,但是你永远不能信任来自客户端的信息(用户可

移动应用安全开发指南(Android)--数据验证

概述 移动应用往往通过数据的发送.接收和处理来完成一系列功能,通常情况下,处理的数据绝大部分都来源于外部(比如网络.内部或外部存储和用户输入等),对这些数据处理不当会导致各种各样的漏洞和风险,比代码执行和信息泄漏等等. 安全准则 A.      一般性原则:对所有外部数据进行数据验证,数据验证建议采用白名单的方式,即只允许指定的字符通过,其它字符一律过滤,同时验证数据的长度和类型等. B.      使用参数化查询语句防止SQL注入(参考附录3). C.      使用WebViews时,将Ja

nopCommerce开发者指南(三):nopCommerce 数据访问层

原文链接:http://docs.nopcommerce.com/display/nc/The+nopCommerce+Data+Access+Layer 翻译 by:yersans,如有不妥,敬请指正,博主邮箱:[email protected].转载请注明出处. Nop.Data项目文件包含数据库读写相关的类和函数.我们借此将数据访问逻辑与业务对象分离.nopCommerce 使用 Entity Framework (EF) Code-First 进行数据库访问.它允许你在源码中定义实体(所

nopCommerce开发者指南(四):控制反转和依赖注入

原文链接:http://docs.nopcommerce.com/display/nc/Inversion+of+Control+and+Dependency+Injection 翻译 by:yersans,如有不妥,敬请指正,博主邮箱:[email protected].转载请注明出处. 控制反转和依赖注入是在程序中分离依赖的两种相关的方式.控制反转( Inversion of Control (IoC) )表示,一个对象不创建它所需依赖的其他对象.取而代之的是,它们通过外部源码获取所需对象.

nopCommerce开发者指南(五):怎样注册新路由?

原文链接:http://docs.nopcommerce.com/pages/viewpage.action?pageId=1442547 翻译 by:yersans,如有不妥,敬请指正,博主邮箱:[email protected].转载请注明出处. ASP.NET 路由负责将浏览请求映射为特定的MVC控制器动作.了解更多路由相关信息请点击.NopCommerce 有一个IRouteProvider 接口,用来在程序启动时对路由进行注册.所有的核心路由都在Nop.Web 项目下的RoutePro

AngularJS快速入门指南14:数据验证

thead>tr>th, table.reference>tbody>tr>th, table.reference>tfoot>tr>th, table.reference>thead>tr>td, table.reference>tbody>tr>td, table.reference>tfoot>tr>td { padding: 8px; line-height: 1.42857143; vertic

SpringMVC(六)数据验证

在系列SpringMVC(四)数据绑定-1.SpringMVC(五)数据绑定-2中我们展示了如何绑定数据,绑定完数据之后如何确保我们得到的数据的正确性?这就是我们本篇要说的内容 -> 数据验证. 这里我们采用Hibernate-validator来进行验证,Hibernate-validator实现了JSR-303验证框架支持注解风格的验证.首先我们要到http://hibernate.org/validator/下载需要的jar包,这里以4.3.1.Final作为演示,解压后把hibernat

Web安全开发指南--数据验证

1.数据验证 4.1.输入数据验证安全规则 1 数据验证必须放在服务器端进行. 2 至少对输入数据的数据类型.数据范围和数据长度进行验证. 3 所有来自不可信数据源(比如网络.用户命令.数据库和文件系统等)的数据都要进行有效验证(参考11.7 ESAPI方案). 4 来自客户端的所有参数的数据都要进行验证,比如HTTP header的键值对. 5 数据验证不通过时应默认拒绝处理该请求. 6 应尽可能地使用"白名单"而非"黑名单"的方式对数据进行验证. 4.2.输出数

Apache Beam实战指南 | 大数据管道(pipeline)设计及实践

Apache Beam实战指南 | 大数据管道(pipeline)设计及实践  mp.weixin.qq.com 策划 & 审校 | Natalie作者 | 张海涛编辑 | LindaAI 前线导读: 本文是 Apache Beam 实战指南系列文章第五篇内容,将对 Beam 框架中的 pipeline 管道进行剖析,并结合应用示例介绍如何设计和应用 Beam 管道.系列文章第一篇回顾 Apache Beam 实战指南 | 基础入门.第二篇回顾 Apache Beam 实战指南 | 玩转 Kaf