1. JavaScript / Говнокод #10269

    +161

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    21. 21
    22. 22
    function validate() {
                var at = document.getElementById("email").value.indexOf("@");
                var age = document.getElementById("age").value;
                var fname = document.getElementById("fname").value;
                submitOK = "true";
    
                if (fname.length > 10) {
                    alert("Имя не должно содержать более 10 знаков");
                    submitOK = "false";
                }
                if (isNaN(age) || age < 1 || age > 100) {
                    alert("Возраст должен быть от 1 до 100");
                    submitOK = "false";
                }
                if (at == -1) {
                    alert("Неправильный e-mail");
                    submitOK = "false";
                }
                if (submitOK == "false") {
                    return false;
                }
            }

    Джордж Буль в гробу перевернулся.

    Запостил: Arigato, 14 Мая 2012

    Комментарии (12) RSS

    • правильное мыло@ :-D
      Ответить
    • "Имя не должно содержать более 10 знаков"
      Абдурахмангаджи (15 букв) и Вильгельмина (12 букв) стало быть не люди?
      Ответить
      • Мало того, еще и долгожителей дискриминируют.
        Ответить
      • Экономим память в БД.
        Абдурахмангаджи = Абдурах...
        Вильгельмина = Вильгел...
        Ответить
    • submitOK объявить как "var submitOK=true;", чтоб принадлежал только функции. Присваивать ему булевы значения (а не строковые), а в конце вместо последней проверки поставить "return submitOK;". Да и вообще, если используется "alert", то лучше сразу делать "return false"! А то представьте себе: у вас 3 ошибки и последовательно появятся 3 сообщения, которые еще и закрывать надо, будет раздражать.
      Действительно, говнокод.
      Ответить
    • >Да и вообще, если используется "alert", то лучше сразу делать "return false"!
      Лучше собрать все сообщения об ошибках и показать одним алертом!
      Ответить
    • Мэйл надо проверять регекспом.
      Ответить
      • Мейл не надо проверять вообще.
        Ответить
        • Его надо проверят отправкой на него письма с сылкой для обратного перехода.
          Ответить
    • > if (submitOK == "false") {
      не хватает веток else
      Ответить

    Добавить комментарий