1

Visual Studio 拡張機能を作成しています。オプション ページを表す C# クラスがあります。オプションは、次のようにパブリック プロパティによって表されます。

public class OptionsPageGeneral : DialogPage
{
  [Range(1, 100)]
  [Category("Misc")]
  [DisplayName("Integer option")]
  public string IntOption { get; set; }
  ...
}

ここに画像の説明を入力

検証属性を使用してユーザー入力を制限しようとしています。ただし、指定されたコードの場合、ユーザーは [1; からだけでなく、任意の値を入力できます。100] 範囲。RangeAttribute

ValidationAttribute の使用例をたくさん見てきましたが、すべて ASP.NET MVC プロジェクト用です。この属性はそのコンテキストでのみ適用されるというのは本当ですか?

とにかく、オプションページで行われたユーザー入力を検証するにはどうすればよいですか? プロパティ メソッドを単純にオーバーライドできることはわかっていますsetが、検証属性を記述するコードははるかに少なくて済み、同様のプロパティに再利用できます。

4

1 に答える 1

0

オプションページの使用方法がわかりませんが、の代わりに1〜100の範囲が必要な場合は、正規表現を使用できますRange

  [Category("Misc")]
  [DisplayName("Integer option")]
  [RegularExpression(@"[0-9]{2}")]//This will only allow you to enter only 2 digits
  public string IntOption { get; set; }
于 2012-11-30T13:20:55.063 に答える