Зачем так писать type = "text" name = "login", расставляя лишние пробелы?
А это ошибка:
if($(this).find('input[type=text]').val()==' '){
.before('<div class="error">Enter</div>');
return false;
}
После кого? Должен быть указан объект:
$(this).before ...
А значения проверять надо так:
if($.trim($(this).find('input:text').val())) ....
то есть удаляя по краям пробелы, и если после этого поле пустое, значит ошибка, ведь просто один пробел, это не значение, если только не определено нечто специальное для него.