, , OP, . , MetadataType.
public SomeViewModel
{
public string FormField { get; set; }
public string FormField2 { get; set; }
}
public interface IAnonymousSomeViewModel
{
[Required]
public string FormField { get; set; }
[Scaffold(false)]
public string FormField2 { get; set; }
}
public interface IUserSomeViewModel
{
[Scaffold(false)]
public string FormField { get; set; }
[Required]
public string FormField2 { get; set; }
}
[MetadataType(typeof(IAnonymousSomeVieModel)]
public AnonymousViewModel : SomeViewModel { }
[MetadataType(typeof(IUserSomeVieModel)]
public UserViewModel : SomeViewModel { }
AnonymousViewModel, UserViewModel, :
@model SomeViewModel
@Html.EditorFor(m => m.FormField)
@Html.EditorFor(m => m.FormField2)