За последние 24 часа нас посетили 59919 программистов и 1773 робота. Сейчас ищут 807 программистов ...

Как вывести ошибку "Слишком длинный e-mail"

Тема в разделе "PHP для новичков", создана пользователем Артур Шевцов, 30 ноя 2017.

  1. Артур Шевцов

    Артур Шевцов Новичок

    С нами с:
    30 окт 2017
    Сообщения:
    13
    Симпатии:
    0
    <?php
    trait ValidEmail {
    public static $email;
    public function setEmail($email) {
    if(strlen($email) > 20) throw new exception('Вы ввели больше 20 символов);
    $this->$email;
    }
    }
    class Email {
    use ValidEmail;
    }

    $e = new Email();
    try {
    $e -> setEmail($email);
    } catch (exception $a) {
    echo "Ошибка e-mail:". $a -> getMessage();
    }
    Что ввести в try, что бы когда вводил больше 20 символов в почте, выводило ошибку "Вы ввели больше 20 символов"?
    ?>
     
    #1 Артур Шевцов, 30 ноя 2017
    Последнее редактирование: 30 ноя 2017
  2. MouseZver

    MouseZver Суперстар

    С нами с:
    1 апр 2013
    Сообщения:
    7.818
    Симпатии:
    1.333
    Адрес:
    Лень
    Line 5
    2 rename 20
     
  3. mkramer

    mkramer Суперстар
    Команда форума Модератор

    С нами с:
    20 июн 2012
    Сообщения:
    8.600
    Симпатии:
    1.764
    В try ничего, и так должно быть. Только у вас будет 2 символа, а не 20 (так написали). И странный сеттер - без присвоения
     
  4. Артур Шевцов

    Артур Шевцов Новичок

    С нами с:
    30 окт 2017
    Сообщения:
    13
    Симпатии:
    0
    Я исправил на 20.
     
  5. MouseZver

    MouseZver Суперстар

    С нами с:
    1 апр 2013
    Сообщения:
    7.818
    Симпатии:
    1.333
    Адрес:
    Лень
    и $this->$email; в сетМыло
    --- Добавлено ---
    тоже странно
    public static $email;
     
  6. Артур Шевцов

    Артур Шевцов Новичок

    С нами с:
    30 окт 2017
    Сообщения:
    13
    Симпатии:
    0
    Мне просто нужен статический метод ValidEmail($email)
     
  7. MouseZver

    MouseZver Суперстар

    С нами с:
    1 апр 2013
    Сообщения:
    7.818
    Симпатии:
    1.333
    Адрес:
    Лень
    ну а чего городишь в коде совсем другую тему ?
    --- Добавлено ---
    у тебя сейчас трейт (дополнение), а не метод. Свойство статическое, но в трейте содержится метод без статики
    --- Добавлено ---
    это что за зарисовка ? ты класс вызвал как типичную функцию в пхп ?
     
  8. Артур Шевцов

    Артур Шевцов Новичок

    С нами с:
    30 окт 2017
    Сообщения:
    13
    Симпатии:
    0
    Понял, буду исправлять.
     
  9. romach

    romach Старожил

    С нами с:
    26 окт 2013
    Сообщения:
    2.904
    Симпатии:
    719