本文整理汇总了C#中JSchema.TryGetPatternRegex方法的典型用法代码示例。如果您正苦于以下问题:C# JSchema.TryGetPatternRegex方法的具体用法?C# JSchema.TryGetPatternRegex怎么用?C# JSchema.TryGetPatternRegex使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类JSchema
的用法示例。
在下文中一共展示了JSchema.TryGetPatternRegex方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: ValidateString
private bool ValidateString(JSchema schema, string value)
{
if (!TestType(schema, JSchemaType.String, value))
return false;
if (schema.MaximumLength != null || schema.MinimumLength != null)
{
// want to test the character length and ignore unicode surrogates
StringInfo stringInfo = new StringInfo(value);
int textLength = stringInfo.LengthInTextElements;
if (schema.MaximumLength != null && textLength > schema.MaximumLength)
RaiseError($"String '{value}' exceeds maximum length of {schema.MaximumLength}.", ErrorType.MaximumLength, schema, value, null);
if (schema.MinimumLength != null && textLength < schema.MinimumLength)
RaiseError($"String '{value}' is less than minimum length of {schema.MinimumLength}.", ErrorType.MinimumLength, schema, value, null);
}
if (schema.Pattern != null)
{
Regex regex;
string errorMessage;
if (schema.TryGetPatternRegex(out regex, out errorMessage))
{
if (!regex.IsMatch(value))
RaiseError($"String '{value}' does not match regex pattern '{schema.Pattern}'.", ErrorType.Pattern, schema, value, null);
}
else
{
RaiseError($"Could not validate string with regex pattern '{schema.Pattern}'. There was an error parsing the regex: {errorMessage}", ErrorType.Pattern, schema, value, null);
}
}
if (schema.Format != null)
{
bool valid = ValidateFormat(schema.Format, value);
if (!valid)
RaiseError($"String '{value}' does not validate against format '{schema.Format}'.", ErrorType.Format, schema, value, null);
}
return true;
}