8

ASP.NET MVC 3 プロジェクトでは、ビューの名前フィールドを検証して、特定のセットのアクセント付き文字を許可する必要があります。したがって、私のビュー モデルでは、次のように適切なプロパティで定義された正規表現属性があります。

[RegularExpression("^[a-zA-Zá]{2,50}$")]

これは正確なコードではないことに注意してください。問題を理解しやすくするために単純化されています。

この正規表現はサーバー側では問題なく機能しますが、クライアント側では機能しません。入力フィールドの HTML を表示すると、次の属性が含まれます。

data-val-regex-pattern="^[a-zA-Zá]{2,50}$"

ご覧のとおり、アクセント付きの文字は、正規表現を破る HTML エンティティに変換されています。なぜこれが起こっているのか、それを修正する方法を教えてもらえますか?

アップデート

申し訳ありませんが、私は完全なばかです。数日前に MVC 4 ベータ版にアップグレードしたことをすっかり忘れていました。その後、MVC 3 と MVC 4 の 2 つの小さなテスト プロジェクトを作成しました。問題は MVC 4 にのみ存在します。

4

2 に答える 2

1

誰かが同じ質問をしたことがわかりました。私のGoogle検索では、今まで見つけられませんでした。

asp.net mvc 4のDataAnnotations検証(正規表現) - カミソリビュー

この問題は、MVC 4 ベータ版のバグとして報告されています。

于 2012-05-10T16:43:21.217 に答える
0

これを試して:

^[a-zA-Z\u00E1]{2,50}$

を使用して\uXXXXXXXX文字の 16 進コード。

于 2012-05-10T15:12:36.983 に答える