文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>WCF RIA service 学习笔记三 数据验证

WCF RIA service 学习笔记三 数据验证

时间:2011-04-30  来源:浪花一朵朵


在涉及到数据的增删改的时候通常会一些验证,防止用户的错误输入,和恶意用户的输入,在asp.net框架中,服务器端提供了一套完整的验证控件,但这些控件几乎是没有什么人用,没有人喜欢在服务器端做验证,现在jQuery插件蛮好用的,验证很方便,在SL中却不一样,jQuery用不上,但又不能不作验证,还好SL中 RIA service在中间层提供了很好的数据验证方案。验证方式有以下几种:
DataTypeAttribute 类型验证

RangeAttribute 范围验证

RegularExpressionAttribute 表达式验证

RequiredAttribute 必填验证

StringLengthAttribute 长度验证
当用户操作服务器端数据,并向服务器提交操作时,这些添加的验证规则将自动映射到所操作的类属性,并作出判断,如果通不过验证,向客户端发送,验证出错消息,本主题介绍添加默认验证和自定义验证信息。
一,添加默认验证,添加默认验证非常简单,只需要作简单配置即可,直接在元数据上添加验证信息即可
[Required(ErrorMessage = "必填")]
[RegularExpression(DomainServiceHelper.regString, ErrorMessage = DomainServiceHelper.regStringErrMsg)]
public string MsgContent { get; set; }

[Required]
public Guid ThreadId { get; set; }
[Display(Name="主题", GroupName="主题")]
[StringLength(50)]
[Required(ErrorMessage="必填")]
[RegularExpression(DomainServiceHelper.regString, ErrorMessage = DomainServiceHelper.regStringErrMsg)]
public string ThreadTitle { get; set; }
二,添加自定义验证,
第一步,添加一个代码共享文件,以*.shared.cs ,该代码文件将包含验证对象,
第二步,添加验证业务逻辑,注意:
该方法必须为 publicstatic,它必须返回 ValidationResult,以便指示验证检查的结果。在您定义自定义的验证类时,除了自动实现的属性外,您还必须至少提供一些代码,以便在客户端项目中正确生成该类。
下面的示例演示一个名为 RoleValidator的类,该类有一个验证 RoleValidator实体的方法 IsExistValid。当数据无效时, 将返回错误消息以及未通过验证的属性的名称。
第三步,
在要验证的实体或属性上,添加 CustomValidationAttribute 特性并且传递验证对象的类型以及执行验证的方法的名称。
下面的示例演示应用于实体的 CustomValidationAttribute 特性。验证对象类型为 RoleValidator,方法为 IsExistValid。
[CustomValidation(typeof(RoleValidator), "IsExistValid")]
[MetadataTypeAttribute(typeof(aspnet_Roles.aspnet_RolesMetadata))]
public partial class aspnet_Roles
{
    ///
  }
相关阅读 更多 +
排行榜 更多 +
辰域智控app

辰域智控app

系统工具 下载
网医联盟app

网医联盟app

运动健身 下载
汇丰汇选App

汇丰汇选App

金融理财 下载