我正在尝试使用Validator类验证使用数据注释修饰的类.
当属性应用于同一个类时,它可以正常工作.但是当我尝试使用元数据类时,它不起作用.我应该对Validator做什么,所以它使用元数据类?这是一些代码..
这工作:
public class Persona
{
[Required(AllowEmptyStrings = false, ErrorMessage = "El nombre es obligatorio")]
public string Nombre { get; set; }
[Range(0, int.MaxValue, ErrorMessage="La edad no puede ser negativa")]
public int Edad { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
这不起作用:
[MetadataType(typeof(Persona_Validation))]
public class Persona
{
public string Nombre { get; set; }
public int Edad { get; set; }
}
public class Persona_Validation
{
[Required(AllowEmptyStrings = false, ErrorMessage = "El nombre es obligatorio")]
public string Nombre …Run Code Online (Sandbox Code Playgroud) DataAnnotations不适用于伙伴类.以下代码始终验证为true.为什么?
var isValid = Validator.TryValidateObject(new Customer(),Context,results,true);
这是好友班.
public partial class Customer
{
public string Name { get; set; }
public int Age { get; set; }
}
[MetadataType(typeof(CustomerMetaData))]
public partial class Customer
{
public class CustomerMetaData
{
[Required(ErrorMessage = "You must supply a name for a customer.")]
public string Name { get; set; }
}
}
Run Code Online (Sandbox Code Playgroud)
这是另一个有相同问题的主题,但没有答案. 链接文字
silverlight asp.net-mvc .net-4.0 buddy-class data-annotations