/// <inheritdoc /> public override string GetRestrictionValue(RestrictionField restrictionField) { switch (restrictionField) { case RestrictionField.MinExclusive: return(MinExclusive.ToString()); case RestrictionField.MaxExclusive: return(MaxExclusive.ToString()); case RestrictionField.MinInclusive: return(MinInclusive.ToString()); case RestrictionField.MaxInclusive: return(MaxInclusive.ToString()); default: return(base.GetRestrictionValue(restrictionField)); } }
/// <summary> /// Gets the restriction value in string in CultureInfo.CurrentUICulture. /// </summary> /// <param name="restrictionField">The facet to be retrieved.</param> /// <returns>The value in string.</returns> public virtual string GetRestrictionValue(RestrictionField restrictionField) { switch (restrictionField) { case RestrictionField.Pattern: return(Pattern); case RestrictionField.Length: return(Length.ToString(CultureInfo.CurrentUICulture)); case RestrictionField.MinLength: return(MinLength.ToString(CultureInfo.CurrentUICulture)); case RestrictionField.MaxLength: return(MaxLength.ToString(CultureInfo.CurrentUICulture)); default: Debug.Assert(false); return(string.Empty); } }
/// <summary> /// Validate the value to all the constraints. /// </summary> /// <param name="attributeValue">The value to be validated.</param> /// <returns>An bit flag, a bit is set on if the corresponding constraint is failed.</returns> public RestrictionField Validate(OpenXmlSimpleType attributeValue) { RestrictionField resultFlag = RestrictionField.None; if ((RestrictionField & RestrictionField.Pattern) == RestrictionField.Pattern) { if (!IsPatternValid(attributeValue)) { resultFlag |= RestrictionField.Pattern; } } if ((RestrictionField & RestrictionField.Length) == RestrictionField.Length) { if (!IsLengthValid(attributeValue)) { resultFlag |= RestrictionField.Length; } } if ((RestrictionField & RestrictionField.MinLength) == RestrictionField.MinLength) { if (!IsMinLengthValid(attributeValue)) { resultFlag |= RestrictionField.MinLength; } } if ((RestrictionField & RestrictionField.MaxLength) == RestrictionField.MaxLength) { if (!IsMaxLengthValid(attributeValue)) { resultFlag |= RestrictionField.MaxLength; } } if ((RestrictionField & RestrictionField.MinInclusive) == RestrictionField.MinInclusive) { if (!IsMinInclusiveValid(attributeValue)) { resultFlag |= RestrictionField.MinInclusive; } } if ((RestrictionField & RestrictionField.MinExclusive) == RestrictionField.MinExclusive) { if (!IsMinExclusiveValid(attributeValue)) { resultFlag |= RestrictionField.MinExclusive; } } if ((RestrictionField & RestrictionField.MaxInclusive) == RestrictionField.MaxInclusive) { if (!IsMaxInclusiveValid(attributeValue)) { resultFlag |= RestrictionField.MaxInclusive; } } if ((RestrictionField & RestrictionField.MaxExclusive) == RestrictionField.MaxExclusive) { if (!IsMaxExclusiveValid(attributeValue)) { resultFlag |= RestrictionField.MaxExclusive; } } return(resultFlag); }