1. делать проверку нужно на стороне сервера, а не клиента. на js - шаблоны для форматированного ввода данных и прочая мелочь
2. аяксом отправляешь данные в контроллер, котроллер передает их в модель, модель проверяет полученные данные и в случае проблем возвращает массив ошибок которые контроллер возвращает в ответе на запрос.