由于.net ria service提供的不只是给silverlight的客户端使用,还可以给asp.net,win等程序的调用,所以我们很多时候要有效的验证所有的客户端提交的数据都合法的话就必须要从.net ria service中做数据提交前的验证,这样可以减少很多数据错误,和节省开发周期,框架也清新很多。
1)在新建Domain service class 的进候把Generate associated classes fro metadata也钩上。
点击ok后会生成一个以Domain service class名加.metadata.cs的文件,这个就是我们要的验证定义的代码页了.
2)打开这个文件。我们可能看到对应的数据库字段。这里提供了一系列可以让你自己定义的数据验证。
以下是我演示用代码:
1: internal sealed class userTableMetadata
2: {
3:
4: // Metadata classes are not meant to be instantiated.
5: private userTableMetadata()
6: {
7: }
8:
9: public EntityState EntityState;
10:
11: public int id;
12:
13: public Nullable<bool> onLine;
14:
15: public string pwd;
16:
17: public string roles;
18:
19: //required表示是必须要有值提能通过验证
20: [Required]
21: //stringlength表示输入的字符串长度不可超过指定的长度.
22: //我这里指定哦最多可以10个字符
23: [StringLength(10)]
24: //regularExpression是使用正则表达式进行验证
25: [RegularExpression("[A-Z][A-Za-z0-9]*")]
26: public string userId;
27: }
28: }
这样在使用的时候当数据处理的时候,数据必须先通过你所指定的规则才可以生效到数据库,这样可以有一个更有弹性数据处理层。