ASP.NET MVCでクライアント検証を考えるとモデルで定義されるクラスの属性を思いつきますが、ある文字列と不一致であることを検証しようと調べると、Compareは使えないことが判明します。
こんな時は正規表現を使うといいでしょう。
下記のような正規表現になります。
|は「または」を意味するのですが、abcと|の間にスペースが在ってはだめです。
もちろん|とefgの間についても同様です。
[RegularExpression(@"^(?!.*(abc|efg)).*$", ErrorMessage="名前にabcまたはedfは利用できません。")]