Validação no MVC 3 sem um modelo

Eu tenho uma pergunta sobre validação no mvc3. A validação incorporada parece ótima. No entanto, tive que usar o javascript em um caso, fazendo com que ele fosse inconsistente com aparência e comportamento (janela de alerta versus texto vermelho). Temos um formulário que contém alguns campos para entrada do usuário. Quando submetido, algum código ajax dispara um link que mapeia para um método do controlador que recebe os valores enviados do formulário e dá início a processos que resultam na criação de um banco de dados do cliente. A pergunta é: Qual é a melhor maneira de fazer a validação nos campos (comprimento, caractere, etc), já que não há um modelo diretamente mapeado para os campos desse formulário? Minha solução foi escrever algumas funções de javascript, mas existe uma maneira mais limpa de fazer isso?

 <td>@Html.TextBox("NewClientId")</td>
...            

    <script language="javascript">
       function ValidateFieldLength(min, max, element) {
            var len = element.value.length;
            if (len < min || len > max)
                return false;
            else {
                return true;
            }
        }
        function createNewClient() {
            if (!ValidateFieldLength(3,3,document.getElementById('NewClientId'))) {
            alert("Invalid Client ID length");
            return;
        }
        $.ajax({
            url: '/api/Clients',
            type: 'PUT',
            data: JSON.stringify({
                ClientId: $('#NewClientId').val(),
                Name: $('#NewClientName').val()
            }),
            contentType: 'application/json; charset=utf-8',
            success: function (reponse) {
                //alert(reponse.data.model.Id);
                alert("Database created");
            },
            error: function (err) {
                alert(err);
            }
        });
    }

questionAnswers(3)

yourAnswerToTheQuestion