让知识更加联贯 让技术走进生活
我的博客
我的程序 我的网络
------郑紫至
E-mail:zhengzizhi@yahoo.com.cn
地磅称量系统
55. 在LWSMapping封装对象的类库中新建一继承
BaseBusiness
类验证
扩展类 暂时取名为WtBillExtended吧 然后将自动生成的代码(如下所示)
using
System;
using
System.Collections.Generic;
using
System.Linq;
using
System.Text;
namespace
LWSMapping
{
class WtBillExtended
{
}
}
改成这个样子就可以编写自己的验证规则了
using
System;
using
System.Collections.Generic;
using
System.Linq;
using
System.Text;
namespace
LWSMapping
{
public partial class WtBill : BaseBusiness
{
}
}
加上partial关键字的目的就是要
让编译器在编译的时候将我们自己编写的验证规则合并到
数据表映射成对象后不
具有的验证规则
WtBill
类中
所以下面要将
WtBillExtended
类改名为WtBill 并且
加上一个partial关键字你可以在这种模型中编写你想要验证的内容,例如用户
输入的数据类别 长度 大小等等规则。
较为完整的验证规则类代码如下(觉得还不够用再按照下面的模式添加进来就可以了):
using
System;
using
System.Collections.Generic;
using
System.Linq;
using
System.Text;
namespace
LWSMapping
{
public partial class WtBill : BaseBusiness
{
partial void OnBillNoChanging(string value)
{
this.CheckBillNo(value);
}
private void CheckBillNo(string value)
{
if (string.IsNullOrEmpty(value))
{
this.AddError("BillNo", "
单据编号不能为空"
);
}
else
{
this.RemoveError("BillNo");
}
}
partial void OnVehicleNoChanging(string value)
{
this.CheckVehicleNo (value);
}
private void CheckVehicleNo(string value)
{
if (string.IsNullOrEmpty(value))
{
this.AddError("BillNo", "
车牌编号不能为空"
);
}
else
{
if (value.Length > 8)
{ this.AddError("VehicleNo", "
车牌编号长度不能大于8位"
); }
else
{ this.RemoveError("VehicleNo"); }
}
}
partial void OnValidate(System.Data.Linq.ChangeAction action)
{
//
别忘记了自己写的验证规则最后都要添加到这儿
this.CheckBillNo(this.BillNo);
this.CheckVehicleNo(this.VehicleNo);
if (this.HasErrors)
{
throw new ValidationException(this.Error);
}
}
}
}
检查一下有没有错误重新Rebuild一下(重新生成一下LWSMapping类库) 怎么添
加验证规则就讲完了下面接着展示怎么应用验证规则了。