5

これに関してStackOverflowで同様のトピックを見つけることができないようですので、ここに行きます:

ASP.NET MVCビューモデルクラスに対して次の定義を指定すると、なぜですか。

[Required]
[RegularExpression(@"\A\d{3,4}\Z",
   ErrorMessage = "The security code (CVN) must be between 3 - 4 digits long.")]
[Display(Name = "Card Security Code (CVN)")]
public string CardCVN { get; set; }

私の目立たないクライアント側の検証テストでは、正規表現を検証できませんか?(その後、フォームフィールドエラーを表示します)。

[RegularExpression(@"\d{3,4}"...正規表現が文字列照合手法全体を削除するように変更されるとすぐに、完全に一致するように見えますか?\Aそして、それが適用されないか\Z、とにかく文字列全体の一致にのみ一致する場合でも、レンダリングするjquery検証のようです(私が最初に必要としたことを実行します!)。私は何かが足りないのですか?

ありがとう。

4

2 に答える 2

3

\Aクライアント側では、正規表現はJavaScriptによって実行され、JSは、、\Zまたはをサポートしていません\z^代わりにを使用することもできますが、使用$する必要はありません。バリデーターで使用される正規表現は、通常、両端で自動的に固定されます。ASP.NETMVCの場合はそうだと確信しています。

于 2011-06-08T05:48:35.333 に答える
2

代わりにこれを使用してください:@"^\d{3,4}$"

^-文字列の開始。

$-文字列の終わり。

于 2011-06-08T05:48:56.973 に答える