如何在C#中验证Picture子句?

时间:2019-05-24 12:37:38

标签: c# validation cobol edi

我正在使用EDI.Net nuget软件包。在他们的Readme.md文件中,他们正在谈论“图片子句”:

  

图片子句来自COBOL语言及其处理表示数字和字母数字数据类型的方式。

我的模型如下:

[EdiMessage]
public class DeliveryNote
{
    [EdiValue("X(9)", Path = "RFF/0/1")]
    public string Identification { get; set; }
}

我希望使用此EdiValue-DataAttribute(source code)来验证我的模型。看来它们已经以某种方式在内部已解析这些Picture子句。

我还不知道如何验证我的模型。第一个显而易见的想法是使用.NET验证类(ValidatorValidationContext,...):

var deliveryNote = new DeliveryNote();
deliveryNote.Identification = null;

var context = new ValidationContext(deliveryNote, serviceProvider: null, items: null);
var validationResults = new List<ValidationResult>();
bool isValid = Validator.TryValidateObject(deliveryNote, context, validationResults, true);

似乎没有任何东西可以验证。

我的错误在哪里?您可以验证那些Picture子句吗?如果此Picture子句支持不是用于验证,那么它们的目的是什么?

1 个答案:

答案 0 :(得分:1)

  

我的错误在哪里?您可以验证那些Picture子句吗?如果此Picture子句支持不是用于验证,那么它们的目的是什么?

picture子句描述数据元素的格式。您无需验证picture子句,但可以验证数据元素的内容-其值。您可以使用picture子句和用户文档中的其他信息来确定验证条件。

一个previous post触及了什么是图片问题。该帖子还为分段的一个示例提供了link以及其数据元素描述。