Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/xpath/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何验证C#中的Picture子句?_C#_Validation_Cobol_Edi_Edi.net - Fatal编程技术网

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

如何验证C#中的Picture子句?,c#,validation,cobol,edi,edi.net,C#,Validation,Cobol,Edi,Edi.net,我正在使用nuget软件包。在他们的文件中,他们谈论的是“图片条款”: Picture子句取自COBOL语言及其处理表示数字和字母数据类型的方式 我的模型如下所示: [EdiMessage] public class DeliveryNote { [EdiValue("X(9)", Path = "RFF/0/1")] public string Identification { get; set; } } 我希望使用这个EdiValue-DataAttribute()来验证我

我正在使用nuget软件包。在他们的文件中,他们谈论的是“图片条款”:

Picture子句取自COBOL语言及其处理表示数字和字母数据类型的方式

我的模型如下所示:

[EdiMessage]
public class DeliveryNote
{
    [EdiValue("X(9)", Path = "RFF/0/1")]
    public string Identification { get; set; }
}
我希望使用这个
EdiValue
-DataAttribute()来验证我的模型。看起来他们已经以某种方式在内部解析了那些图片子句

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

var deliveryNote=new deliveryNote();
deliveryNote.Identification=null;
var context=newvalidationcontext(deliveryNote,serviceProvider:null,items:null);
var validationResults=新列表();
bool isValid=Validator.TryValidateObject(deliveryNote,context,validationResults,true);
似乎没有任何东西是经过验证的

我的错在哪里?你能验证那些图片条款吗?如果此Picture子句支持不是为了验证,那么它们的目的是什么

我的错在哪里?你能验证那些图片条款吗?如果此Picture子句支持不是为了验证,那么它们的目的是什么

picture子句描述数据元素的格式。您不验证picture子句,但可以验证数据元素的内容——它的值。您可以使用picture子句和用户文档中的其他信息来确定验证标准


一个关于什么是图片的问题。这篇文章还提供了一个片段及其数据元素描述的示例。

您是否看过Fluent Validation NuGet packageSo进行验证,您是否建议使用
[System.ComponentModel.DataAnnotations.StringLengthattAttribute(9)]
来验证
X(9)
?@WoIIe-我有40年的COBOL经验;但是大约3个月的C#。根据Microsoft文档,StringLengthaAttribute指定数据字段中允许的最小和最大字符长度。。是的,
StringLengthAttribute(?)
的括号中的值将与
picx(?)
的括号中的值相同。非常感谢,先生。你帮我省去了很多麻烦❤
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);