Validación en MVC 3 sin modelo

Tengo una pregunta sobre la validación en mvc3. La validación incorporada se ve muy bien. Sin embargo, he tenido que usar javascript en un caso, lo que hace que sea inconsistente con la apariencia (ventana de alerta frente a un bonito texto en rojo). Tenemos un formulario que contiene algunos campos para la entrada del usuario. Cuando se envía, algunos códigos ajax activan un enlace que se asigna a un método de controlador que toma los valores enviados desde el formulario e inicia procesos que dan como resultado la creación de una base de datos de clientes. La pregunta es: ¿Cuál es la mejor manera de realizar la validación en los campos (longitud, carácter, etc.) ya que no hay un modelo asignado directamente a los campos en ese formulario? Mi solución fue escribir algunas funciones de javascript, pero ¿hay una forma más limpia de hacerlo?

 <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);
            }
        });
    }

Respuestas a la pregunta(3)

Su respuesta a la pregunta