アイテムの注文数が 0 か、2500 から 999999 の間かを確認するために RegEx が必要です。これは可能ですか?
例: 0 (アイテムなし) を注文するか、2500 個以上のアイテムを注文する必要があります。
更新: MVC の検証属性で使用されるため、これは RegEx である必要があります。
[RegularExpression(@"SomeRegExpression", ErrorMessage = "Min order error")]
正規表現でなければならない場合:
^(?:0|\d{5,6}|2[5-9]\d\d|[3-9]\d\d\d)$
説明:
^ # Start of string
(?: # Either match...
0 # 0
| # or
\d{5,6} # a five- or six-digit number
| # or
2[5-9]\d\d # 2500-2999
| # or
[3-9]\d\d\d # 3000-9999
) # End of alternation
$ # End of string
独自のカスタム検証属性を作成することもできます。
例については、MVC のカスタム検証属性を作成する方法および/またはhttp://www.codeproject.com/Articles/301022/Creating-Custom-Validation-Attribute-in-MVC-3を参照してください。
例えば;
public class CustomValidationAttribute : ValidationAttribute
{
public override bool IsValid(object value)
{
int number = value as int;
return (number == 0 || (number >= 2500 && number <= 999999));
}
}