我在 MVC 4 中创建了一个自定义验证器:
public class FirstNameValidator : ValidationAttribute
{
private IRegistrationConfiguration _registrationConfiguration;
public string Category { get; set; }
public bool IsLocal { get; set; }
public FirstNameValidator()
{
_registrationConfiguration = DependencyResolver.Current.GetService<IRegistrationConfiguration>();
}
public FirstNameValidator(IRegistrationConfiguration registrationConfiguration)
{
_registrationConfiguration = registrationConfiguration;
}
protected override ValidationResult IsValid(object value, ValidationContext validationContext)
{
if (value == null)
{
return new ValidationResult("Le prénom ne doit pas être vide");
}
else
{
if(string.IsNullOrEmpty(value.ToString()))
return new ValidationResult("Le prénom ne doit pas être vide");
else if(value.ToString().Length<2)
return new ValidationResult("Le prénom doit avoir + que 2 caractères");
else if (value.ToString().Length > 30)
return new ValidationResult("Le prénom doit avoir - que 30 caractères");
}
return null;
}
}
我在我的 viewModel 中使用了这个数据注释:
public class RegistrationViewModel
{
public string Country { get; set; }
public string Civility { get; set; }
[FirstNameValidator(Category = "Registration", IsLocal = false)]
public string FirstName { get; set; }
public string LastName { get; set; }
}
我如何进行客户端验证?