Все работает, валидатор не принимает, хотелось бы узнать какие данные использует валидатор. Есть условия, я их выполнил, а еще подводные камни есть в мутной воде которые не могу учесть. Есть сомнение в trim() на 70 строке.