Я после курса Lynda.com для CakePHP 2.4.0 и на материале следующий код должен работать, но не с сообщением об ошибке: второйCakePHP непрохождения пользовательских правил проверки (регулярное выражение)
public $validate = array(
'publication_name' => array(
'words' => array(
'rule' => array('custom', '/([\w.-]+)+[\w+.-]/'),
'message' => 'The publication name can only contain letters, numbers and spaces.',
)
),
);
" preg_match(): разделитель не должен быть буквенно-цифровым или обратным слэшем [CORE/Cake/Model/Validator/CakeValidationRule.php, строка 281] ".
В моем поиске регулярное выражение должно работать, поскольку оно использует не-буквенно-цифровой разделитель (/). Я совершенно недоумеваю, если не сказать больше.
Единственный способ, которым я смог его успешно сохранить, - это удалить правило пользовательской проверки (что не является желаемым результатом по целому ряду причин).
Любое понимание того, почему это не проходит проверку? Я отличаюсь от кода моего кода от файлов упражнений автора и не уверен, что я (скорее всего) за просмотр ...
Благодарим вас за ваше время и понимание. Я действительно ценю это.
Исходный код модели, вида и контроллеров: http://tny.cz/0a995577
И вы _are_ с помощью CakePHP 2.4.0? В этом случае правило, которое вы показываете там, обычно не будет обрабатываться на [Строка 281] (https://github.com/cakephp/cakephp/blob/2.4.0/lib/Cake/Model/Validator/CakeValidationRule.php # L281) 'CakeValidationRule.php', это были такие правила, как' 'words '=>' string value''. Регулярное выражение полностью отлично (синтаксис мудрый), он должен быть чем-то другим. Вам нужно будет показать еще некоторые из задействованного кода, действия контроллера, модели и т. Д. ... – ndm
Теперь я собираюсь разделить файлы проектов с файлами автора. Я использую выпечку торта, которая показывает, что она использует приложение/Console/bake для 2.4.0, но у меня также есть установка 2.4.1, поэтому я, возможно, случайно испекла какой-то код, используя неправильную консоль для испечь ... Я скоро обновлю это. Спасибо за быстрый ответ. – DroBuddy
Pastebin в настоящее время отключен из-за нагрузки, поэтому вот альтернатива, которая показывает полный источник для Model, App Controller и Publications Controller и Add View. http://tny.cz/0a995577 Я более чем рад предоставить любой другой исходный код, если необходимо, чтобы определить, почему правило не работает. Еще раз спасибо. – DroBuddy