1

アイテムの注文数が 0 か、2500 から 999999 の間かを確認するために RegEx が必要です。これは可能ですか?

例: 0 (アイテムなし) を注文するか、2500 個以上のアイテムを注文する必要があります。

更新: MVC の検証属性で使用されるため、これは RegEx である必要があります。

[RegularExpression(@"SomeRegExpression", ErrorMessage = "Min order error")]
4

2 に答える 2

3

正規表現でなければならない場合:

^(?: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
于 2012-05-22T08:09:39.973 に答える
3

独自のカスタム検証属性を作成することもできます。

例については、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));
    }
}
于 2012-05-22T08:12:14.527 に答える