Пожалуйста, посмотрите на этот массив проверки в моей CakePHP приложение для модели Unit:правило проверки не работает
public $validate=array(
'type'=>array(
'rule'=>'notEmpty',
'message'=>'You must choose what type of property this is.'
),
'unitnum'=>array(
'rule'=>array('custom', '/^[a-z0-9 -\'.\/&]*$/i'),
'message'=>'Must be the name or number of your unit.'
),
'unit_website'=>array(
'rule'=>'url',
'message'=>'You must enter a valid website address.'
),
'specials'=>array(
'rule'=>'url',
'message'=>'You must enter a valid website address.'
),
'rates'=>array(
'rule'=>'url',
'message'=>'You must enter a valid website address.'
),
'book'=>array(
'rule'=>'url',
'message'=>'You must enter a valid website address.'
),
'contact'=>array(
'rule'=>'url',
'message'=>'You must enter a valid website address.'
)
);
Каждое правило КРОМЕ один для работы 'экстренное сообщение. Я думал, что, возможно, ошибся в своем массиве проверки, моей форме или в моем поле базы данных, но это написано правильно.
Итак, я попытался переместить его в массив. Это не сработало. Я попытался удалить его и переписать его вручную. Нет.
Я думал, что, возможно, файл/tmp/cache/models/cake_model_defaults_units был виноват. Я удалил это, и все равно это не сработает.
Затем я подтвердил, что загруженная копия моего определения модели Unit.php была самой актуальной, актуальной версией. Да, это так.
Даже более странный, я попытался добавить в свою базу данных новые поля типа «foo» и «bar», а затем дать им правила проверки (например, «url» или «numeric»). Каждый раз, независимо от того, что я вхожу в поля формы, их проверка не прерывается, а торт обновляет мою базу данных.
Что мне не хватает?
Вы пробовали переименовать поле? say "specials_website" – pollirrata
Возможно, вы можете проверить, одинаковы ли все данные в 'beforeValidate()' методе с 'debug()'. –
@pollirrata, попробовал это без успеха. – huzzah