validador customizado MVC + lado do cliente de validação

Eu crio um validateur personalizado no 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;

    }

}

Eu uso essa anotação de dados no meu 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; }

}

Como posso fazer a validação do lado do cliente?

questionAnswers(2)

yourAnswerToTheQuestion