0

MVC3のフォームで日付入力を検証するために正規表現フィルターを使用しています

    [RegularExpression(@"[0-3][0-9]\.[01][0-9]\.[0-2][0-9]{3}( [0-2][0-9]:[0-5][0-9](:[0-5][0-9])?)?",ErrorMessage="Incorrect Format")] 
    public DateTime CreationDate { get; set; }

非常に奇妙なケース: value01.01.2012 00:00は regex を満たしていませんが、値を入力すると01.01.2012 10:00modelstate が有効になります。このhttp://regexpal.com/を使用して正規表現を確認しましたが、値は問題ありません。

なぜそれが機能しないのか、誰か提案がありますか?

4

1 に答える 1

0

ああ....私は自分で問題を見つけました。方法はわかりませんが、フォームを送信した後、値01.01.2012 00:00がに変換された01.01.2012 0:00ため、正規表現を満たしていません。さて、正規表現は次のように見えました:

[RegularExpression(@"[0-3][0-9]\.[01][0-9]\.[0-2][0-9]{3}( ([0-2])?[0-9]:[0-5][0-9](:[0-5][0-9])?)?",ErrorMessage="Incorrect Format")] 

多分それは誰かのために役立つでしょう。

于 2012-06-08T15:42:09.450 に答える