2015-10-15 101 views
1

我有一个C#类,我正在转换为XML。我有一个验证问题(我无法找到任何地方如何执行限制)。让我给你看一个例子:XML属性验证的可能性

[System.Xml.Serialization.XmlElementAttribute(ElementName="export_szla_db", DataType = "decimal")] 
    public decimal myDecimal 
    { 
     get 
     { 
      return this.export_szla_dbField; 
     } 
     set 
     { 
      this.export_szla_dbField = value; 
     } 
    } 

我想要做的,就是将这个小数限制到最大10位数,没有分数。

如何实现这样的最佳方式是什么?我应该使用属性(如果是的话,这是什么属性),还是我应该编写自定义的逻辑来处理验证?最佳做法是什么?

为什么我需要这样做的原因,是因为我收到XSD架构:

<xs:simpleType name="decimal_egesz_tipus"> 
    <xs:annotation> 
     <xs:documentation>Determining Decimal Type. 10 integers and 0 decimal digits can be entered.</xs:documentation> 
    </xs:annotation> 
    <xs:restriction base="xs:decimal"> 
     <xs:totalDigits value="10"/> 
     <xs:fractionDigits value="0"/> 
    </xs:restriction> 
</xs:simpleType> 
+0

限制或回合被欺骗?这不是字符串,这是一个非常奇怪的(罕见的)要求。不要期望得到它的支持。 –

+0

它看起来像一个XML Schema用例。你愿意使用这种技术吗? –

+0

我已更新我的帖子,以便您了解我为什么需要它 –

回答

0

你可以简单的解决这个在C#的水平,通过在GET的身体编程/设定值被截断为+/- 9999999999

哎呀,我在回答一个2岁的问题,因为它被编辑13分钟前:-)