Obter atributos de anotações de dados do modelo

Desejo criar um validador customizado do lado do cliente, mas quero definir regras de validação por meio de atributos de anotações de dados na camada de lógica de negócios. Como posso acessar os atributos de validação do modelo em tempo de execução?

Eu quero escrever 'gerador', que irá converter este código:

public class LoginModel
{
    [Required]
    [MinLength(3)]
    public string UserName { get; set; }

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

para este:

var loginViewModel= {
    UserName: ko.observable().extend({ minLength: 3, required: true }),
    Password: ko.observable().extend({ required: true })
};

Mas não de fontes CS, é claro. =)

Talvez reflexo?

UPD

Eu encontrei este método:MSDN. Mas não consigo entender como usá-lo.

questionAnswers(2)

yourAnswerToTheQuestion