Как вы проверяете поле уникально в cakephp 3.0? Кажется, что функция проверки не указана в API.Проверка полей как уникальных в cakephp 3.0
ответ
Вы хотите использовать правило validateUnique
. Например, чтобы проверить адрес электронной почты уникален по принципу UsersTable
: -
public function validationDefault(Validator $validator)
{
$validator->add(
'email',
['unique' => [
'rule' => 'validateUnique',
'provider' => 'table',
'message' => 'Not unique']
]
);
return $validator;
}
Подробности можно найти в the API docs.
Поставщики валидации могут быть объектами или именами классов. Если используется имя класса, методы должны быть статическими. Чтобы использовать поставщик, кроме «по умолчанию», не забудьте установить ключ provider
в правиле:
// Use a rule from the table provider
$validator->add('title', 'unique', [
'rule' => 'uniqueTitle',
'provider' => 'table'
]);
Для получения более подробной информации просмотрите раздел в справочнике CakePHP3 Adding Validation Providers.
вы должны использовать правила из ОРМА торта на вашем столе ...
добавить это в верхней части UsersTable после имен
use Cake\ORM\Rule\IsUnique;
Затем подготовить правило применить к полю помещая его в публичной функции
public function buildRules(RulesChecker $rules){
$rules->add($rules->isUnique(['email']));
return $rules;
}
Обратитесь к документации CakePHP для получения дополнительной информации о RULES
Это должно быть помечено как правильный ответ! – Andy
Как показать пользовательское сообщение вместо «Предоставленное значение недействительно» для уникальных полей? –
Я исправляю себя, isUnique имеет только 2 параметра, 'public function isUnique (array $ fields, $ message = null) {' , поэтому ваш код будет таким: '$ rules-> add ($ rules-> isUnique (['email'], 'Ваше сообщение здесь!')); ' – Rod
- 1. cakephp 3.0 - Сохранение уникальных совпадений
- 2. CakePHP 3.0 - Проверка регулярного выражения
- 3. Cakephp 3.0 - Проверка ввода данных в другую модель
- 4. граф уникальных полей MySQL
- 5. Перемещение пути cakephp в cakephp 3.0
- 6. Django проверка уникальных полей Записи между двумя полями
- 7. RethinkDB - Несколько уникальных полей?
- 8. Как распечатать счетчик уникальных значений в CakePHP
- 9. cakephp 3.0 SQL QUEry
- 10. cakephp 3.0 using tableprefix?
- 11. CakePHP 3.0 URL-адрес
- 12. Пользовательский запрос в CakePHP 3.0?
- 13. CakePHP 3.0 выпечка в netbeans
- 14. Radio Button CakePHP 3.0
- 15. cakephp 3.0 routing issue
- 16. Cakephp 3.0 урок сложный
- 17. Cakephp 3.0 скачать файл
- 18. Pagination in CakePHP 3.0
- 19. логики в CakePHP 3.0 зрения
- 20. Ajax Pagination cakePHP 3.0
- 21. Использование плагина CakePHP 3.0
- 22. cakePHP 3.0 Загрузка изображений
- 23. Cakephp 3.0 Войти
- 24. Компонент Auth в Cakephp 3.0
- 25. CakePHP 3.0 Modelless Pagination
- 26. Cakephp 3.0 Несколько таблиц
- 27. Mysql проверка уникальных данных
- 28. Как дать loginregirect в cakedc, Cakephp 3.0
- 29. Как копировать Query :: notMatching() в CakePHP 3.0?
- 30. Как сохранить связанную таблицу в CakePHP 3.0
Большое спасибо !!! Я использовал buildRules (RulesChecker $ rules), который работал нормально, но не дал правильное сообщение об ошибке – pkk
Обнаружена проблема, не работающая во время редактирования. Можете ли вы помочь? – pkk