# 校验器插件 — C#（AbstractValidator）

```csharp
using Kingdee.BOS.Core.Validation;
using Kingdee.BOS.Orm.DataEntity;
using System;
using System.Collections.Generic;
using System.Linq;

namespace Kingdee.MyProject.Validator
{
    public class MyValidator : AbstractValidator
    {
        public override void Validate(ExtendedDataEntity[] dataEntities,
            ValidateContext validateContext, ValidationResult validationResult)
        {
            foreach (var entity in dataEntities)
            {
                DynamicObject billObj = entity.DataEntity;
                string billNo = Convert.ToString(billObj["BillNo"] /* PropertyName */);
                decimal amount = Convert.ToDecimal(billObj["FAmount"] ?? 0);

                if (amount <= 0)
                {
                    ValidationError error = new ValidationError
                    {
                        ErrorCode = "AmountMustPositive",
                        Message = string.Format("单据 {0} 金额必须大于零", billNo)
                    };
                    validationResult.AddError(error);
                }
            }
        }
    }
}
```

**注册：** 在操作插件的 `OnAddValidators` 中添加 `e.Validators.Add(new MyValidator())`
