gpt4 book ai didi

c# - 多个正则表达式数据注释验证

转载 作者:行者123 更新时间:2023-12-03 20:30:06 27 4
gpt4 key购买 nike

我的 Code First 中有一个字符串字段,它可以包含两个正则表达式之一:

([0-5]\d):([0-5]\d)\,(\d{2})
or
(\d{3}),(\d{2})

如何将它们合并到一个字段中?我尝试使用自定义验证。字段验证始终为真,即使我只输入字母也是如此。我无法找出我做错了什么。

[CustomResult]
public string Resultstring { get; set; }

public class CustomResultAttribute : ValidationAttribute
{
public override bool IsValid(object value)
{
if (value == null)
{
return false;
}

// 00:00,00
if (Regex.IsMatch(value.ToString(), @"([0-5]\d):([0-5]\d)\,(\d{2})"))
{
return true;
}

// 000,00
if (Regex.IsMatch(value.ToString(), @"(\d{3}),(\d{2})"))
{
return true;
}
return false;
}
}

最佳答案

我认为在这种情况下,您可以在正则表达式中使用 or |:

([0-5]\d):([0-5]\d)\,(\d{2})|(\d{3}),(\d{2})

将其放入 http://www.regexper.com/看看。

关于c# - 多个正则表达式数据注释验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16538715/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com