独自のカスタム表示ヘルパー(と同様LabelFor
)を使用することも、
LabelForを次のようにしたい場合:
<PropertyName> :
必須属性がある場合
<PropertyName> : *
カスタムDataAnnotationsModelMetadataProviderの使用を試みることができます
public class CustomModelMetadataProvider : DataAnnotationsModelMetadataProvider
{
protected override ModelMetadata CreateMetadata(IEnumerable<Attribute> attributes, Type containerType, Func<object> modelAccessor, Type modelType, string propertyName)
{
var metadata = base.CreateMetadata(attributes, containerType, modelAccessor, modelType, propertyName);
if (propertyName != null) {
metadata.DisplayName = (metadata.DisplayName ?? propertyName) + " : ";
if (attributes.OfType<RequiredAttribute>().Any())
metadata.DisplayName +=" * ";
}
return metadata;
}
}
これを使用するには、
ModelMetadataProviders.Current = new CustomModelMetadataProvider()
Application_Start()
あなたの Global.asax.cs
さて、metadata.DisplayName
エラーメッセージで使用されているかどうかはわかりません...テストさせてください!