地磅称量系统之(55) 扩展LINQ to SQL Classes将数据表映射成对象后不具有的验证规则

 

让知识更加联贯 让技术走进生活
我的博客        我的程序 我的网络
               ------郑紫至
               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类库) 怎么添
加验证规则就讲完了下面接着展示怎么应用验证规则了。

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值