私はASP.NET MVC3では、[RegularExpression]タグを動的にする方法はありますか?
[RegularExpression(...)]
public string PenguinGenome
{
get;set;
}
public int PenguinSpecies
{
get; set;
}
のような私のviewmodelで何かを持っているがPenguinSpeciesに基づいて動的に作成する方法が...ありますか?
すなわち:
[RegularExpression(GetExpression(PenguinSpeciesId))]
public string PenguinGenome
{
get;set;
}
public int PenguinSpeciesId
{
get; set;
}
public string GetExpression(int speciesId)
{
if (.....)
return "[some regex]";
}
PenguinSpeciesIdは、コンテキスト内に存在しないので、これは動作しません。何が最善の回避策ですか?
問題は、属性が特定のクラス/プロパティ/その他のメタデータの一部であるため、非静的な参照を含むことができないことです。したがって、インスタンス化するメソッドやプロパティを呼び出すことはできません。 – Buildstarted