0

残念ながらREGEXを使用してからしばらく経ちましたが、なぜ私のプロジェクトで機能しないのか疑問に思っています。

私は 2 つのテストが有効であると言っている Regex Tester を使用しましたが、プロジェクトでのテストに関しては拒否されます。

1) テキストが特定の文字で始まることを確認します

[RegularExpression("(spAPP)",ErrorMessage = "Stored procedures must begin with spAPP")]

これはそれ自体でspAPPを受け入れるようですが、私が望んでいるspAPPabcdefのようなものではありません。REGEX を使用して「残りのテキストを無視する」属性を見つけるのに苦労しています。

2) もう少し複雑です。ADグループには特定の命名規則があるため、例は「UK ROLE IT APPLICATION DEV ADMIN」であり、ロール名までは標準があります(したがって、「UK ROLE IT APPLICATION DEV」をチェックする必要があります.

[RegularExpression(@"((UK|FRANCE|GERMANY|USA)\s(ROLE)\s(IT|NON-IT)\s(APPLICATION)\s(DEV|TEST|LIVE))", ErrorMessage = "Please use AD naming standards.")]

すべての単語の周りに () を使用しているという事実かもしれませんが、コードで読みやすくなっています。私が見つけた RegexTester は、それが正しいことを示しているようですが、私の .NET プロジェクトでは、それは拒否されます。

ありがとう、

4

1 に答える 1

1
  1. ^spAPP.*$
  2. ^((UK|FRANCE|GERMANY|USA)\s(ROLE)\s(IT|NON-IT)\s(APPLICATION)\s(DEV|TEST|LIVE)).*$

背後にある JavaScript の実装では、-string 開始と-string 終了を指定するRegularExpressionAttribute必要があります。^$

参照: http://blog.regexhero.net/2012/09/aspnet-mvc-dataannotations-and.html

于 2012-12-06T17:11:45.580 に答える