1

ビューモデルを使用して、jquery の目立たない検証と標準の属性装飾 (MVC 3.0) を使用して Razor ビューにデータを渡しています。私のビューモデルは次のようになります (要約された名前は無視してください):

public class MyViewModel
{
   public MyViewItem Item { get; set; }
   public MyViewItem Item2 { get; set; }
}

public class MyViewItem
{
   public int Value { get; set; }
   public CustomEnum MyEnum { get; set; }
}

私ができるようにしたいのは、MyViewModel の Item と Item2 の値を異なる範囲属性で装飾することです。ただし、これらは使用される特定の Value プロパティにないため、 HtmlのEditorFor拡張機能を使用すると表示されません。

すなわち

public class MyViewModel
{
   [Range(0,100)] // will actually be applied on the Item.Value property
   public MyViewItem Item { get; set; }

   [Range(50,60)] // will actually be applied on the Item.Value property
   public MyViewItem Item2 { get; set; }
}

とにかく、カスタム属性または他のフォーム、つまりカスタムデータバインディング、カスタム属性などでこれを達成できますか

4

1 に答える 1

1

2つの異なるタイプに我慢したい場合は、MyViewItemをサブクラス化し、派生クラスに異なるRangeValidationAttributeを定義させることができます。

于 2012-10-02T19:52:25.267 に答える