¿Cómo puedo tener un ValidationAttribute personalizado representado como un atributo 'data-val-xx' en el lado del cliente?

Dado un ViewModel que se ve así:

public class Login {
    [Required]
    public string Username { get; set; }

    [Required, CustomValidator]
    public string Password { get; set; }
}

Y una vista como esta (sintaxis Razor aquí):

@Html.TextBoxFor(f => f.Password)

Recibo el siguiente marcado:

<input type="text"
       value="" 
       data-val-required="This field is required." />

Sin embargo, me gustaría que también incluya un atributo 'data-' para mipersonalizado validador

Quiero algo como esto:

<input type="text" 
       value="" 
       data-val-required="This field is required."
       data-val-customvalidator="XYZ" />

¿Cómo puedo lograr esto con ASP.NET MVC 3.0?

P.ej. ¿Necesito poner algún atributo especial en mi validador personalizado? O registrarlo en alguna parte?

Respuestas a la pregunta(1)

Su respuesta a la pregunta