У меня есть эта простая пользовательская модель, которая проверяет поле, если оно пустое и должно давать сообщение, но оно не собирает сообщение модели, а дает сообщение HTML. Это код для моей проверки модели
public $validate = array( 'first_name' => array( 'notEmpty' => array( 'rule' => array('notEmpty'), 'message' => 'This field cannot be empty', //'allowEmpty' => false, //'required' => false, //'last' => false, // Stop validation after this rule //'on' => 'create', // Limit validation to 'create' or 'update' operations ), ),
Тестовая ссылка: http://59655b15.ngrok.com/medicare/users/home
Перейдите на вкладку регистрации и нажмите кнопку создания профиля во всплывающем окне, не вводя имени. Он должен показывать сообщение модели, но он показывает сообщение по умолчанию. Если я удалю валидацию с модели, она не проверит проверку.
Сообщение, которое вы видите, является стандартным сообщением браузера, которое появляется, когда поле имеет атрибут «обязательный», но в нем нет содержимого.
Вы не видите сообщение модели, потому что на тот момент оно еще не отправлено.
Предполагая, что вы используете FormHelper, CakePHP автоматически добавляет атрибут 'required' в поля, которые не могут быть пустыми.
Пример необходимого поля в действии с его HTML .
Если вы действительно хотите, чтобы ваши сообщения модели были как проверка Javascript, вы могли бы изучить его или вне некоторых из exisitng помощников / плагинов … и т. Д.
Пример (хотя и немного старый): Automagic Javascript Validation Helper