Code First に、次の 2 つの正規表現のいずれかを含む文字列フィールドがあります。
([0-5]\d):([0-5]\d)\,(\d{2})
or
(\d{3}),(\d{2})
それらを 1 つのフィールドに組み合わせるにはどうすればよいですか? カスタム検証を使用してみました。文字だけを入力しても、フィールドの検証は常に true です。何が間違っているのかわかりません。
[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;
}
}