Intereting Posts
Неопределенная ошибка переменной при вызове функции из другого фрагмента Использование переменной в качестве оператора Обработка больших объемов данных на PHP без тайм-аута браузера Как проверить, зарегистрирован ли пользователь на другом компьютере? Инкрементная переменная для каждого набора опций в корзине покупок Генерация PDF с ajax, отображаемым как случайные строки? TCPDF разделяет таблицу html на нескольких страницах Как игнорировать перемещенный заголовок с файлом_get_contents в PHP? Data Mapper – следует ли использовать инъекцию зависимостей? Заголовки кодировки JSON с использованием Sendgrid Как изменить имена тегов XML с помощью PHP? Как выполнить программу с веб-страницы php? Как я могу получить перечисление возможных значений в базе данных MySQL? Как добавить скрипты и таблицы стилей внутри модуля yii Есть ли способ JavaScript для file_get_contents ()?

Как проверить URL-адрес, но игнорировать, если http: // или пустым?

Я хочу проверить поле формы для URL. Я установил значение по умолчанию для поля http: //. Когда пользователь не вводит URL-адрес и оставляет http: //, он говорит о недопустимом URL-адресе. URL не требуется, поэтому, если это только http: //, он не должен показывать сообщение об ошибке. Как я могу заставить его игнорировать, если человек отправляет http: // в качестве URL-адреса?

благодаря

http: // не является допустимым URL-адресом, поэтому, если вы хотите разрешить его, в любом случае есть 2 варианта

  1. создать собственное правило проверки , которое возвращает true для реального URL + http: //
  2. используйте перед проверкой обратного вызова и установите поле URL-адреса пустым, если это просто http: //

надеюсь, это поможет

РЕДАКТИРОВАТЬ

Я забыл: вам не нужно устанавливать требуемый, но 'allowEmpty' => true

required -> форма должна содержать поле xyz, которое отправляется на сервер

allowEmpty -> поле может быть пустым


Я добавил ссылку на функцию обратного вызова выше, но в любом случае .. вот она:

в вашем классе модели (я просто предполагаю, что это User ):

 class User extends AppModel { .. function beforeValidate() { if (isset($this->data['User']['url']) && $this->data['User']['url'] == 'http://') { $this->data['User']['url'] = ''; } return true; } .. }