1
このケースではFirstNameという特定のプロパティにアトリビュートを添付しようとしていますが、このコードに問題があります。これはbirthday datetimeプロパティにも関連付けられています。この問題が何であるかasp.net mvc dataannotions添付属性
public class CustomMetadataValidationProvider : DataAnnotationsModelValidatorProvider
{
protected override IEnumerable<ModelValidator> GetValidators(ModelMetadata metadata, ControllerContext context, IEnumerable<Attribute> attributes)
{
if (metadata.PropertyName == "FirstName")
attributes = new List<Attribute>() { new RequiredAttribute() };
return base.GetValidators(metadata, context, attributes);
}
}
public class User
{
public int UserId { get; set; }
public string FirstName { get; set; }
public string LastName { get; set; }
public DateTime Birthday { get; set; }
}
protected void Application_Start()
{
//ModelValidatorProviders.Providers.Clear();
//ModelValidatorProviders.Providers.Add(new CustomMetadataValidationProvider());
ModelValidatorProviders.Providers.Add(new CustomMetadataValidationProvider());
AreaRegistration.RegisterAllAreas();
RegisterRoutes(RouteTable.Routes);
}
誰かがGetValidatorsの動作を説明できますか?
は、これは簡単な例ですか?このようにバリデータを追加するのは少し珍しいことです。 – Betty
大きなものの再生 – maztt