【问题标题】:XML attribute validation possibilitiesXML 属性验证可能性
【发布时间】:2015-10-15 10:52:06
【问题描述】:

我有一个要转换为 XML 的 C# 类。我在验证方面遇到问题(我在任何地方都找不到如何进行限制)。让我给你举个例子:

    [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>

【问题讨论】:

  • 限制还是回合?这不是字符串,这是一个非常奇怪(罕见)的要求。不要期望得到太多支持。
  • 它看起来像一个 XML Schema 用例。您愿意使用这项技术吗?
  • 我已经更新了我的帖子,让你明白我为什么真正需要它

标签: c# xml validation


【解决方案1】:

您可以在 C# 级别简单地解决此问题,方法是在 get/set 主体中编程,将值截断为 +/- 9999999999。

糟糕,我在回答一个 2 年前的问题时被骗了,因为它是 14 分钟前编辑的 :-)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-05-31
    • 1970-01-01
    • 1970-01-01
    • 2018-06-23
    • 2011-01-31
    • 2012-06-01
    • 2023-03-04
    • 2014-12-25
    相关资源
    最近更新 更多