У меня есть форма взломщика сейфов, которая позволяет пользователям вводить содержимое заголовка, url_title. Если url_title уже используется, по умолчанию к url_title добавляется числовой номер, поэтому он уникален. Но вместо этого автоматического поведения, когда число добавляется к url_title, есть ли способ уведомить пользователя о том, что введенный url_title уже занят, чтобы пользователь мог ввести новый.
Expressionengine Сообщите пользователю, если url_title уже используется
Ответы (1)
Чтобы проверить {url_title}
в форме SafeCracker на лету перед отправкой, вы можете написать процедуру Ajax, которая будет проверять и сравнивать значение <input />
со столбцом url_title
в таблице базы данных exp_channel_titles
.
Когда SafeCracker разрабатывался Барреттом Ньютоном, раньше был Документация для разработчиков по пользовательским типам полей и хукам расширения, но с тех пор, как EllisLab взяла на себя управление SafeCracker, я считаю, что они были удалены.
Однако, поскольку SafeCracker выполняет проверку формы на стороне сервера с помощью класса проверки формы CodeIgniter, вы должен иметь возможность расширить класс проверки в соответствии с вашими потребностями, создав функции обратного вызова. для проверки {url_title}
при отправке формы вместо молчаливого разрешения ExpressionEngine добавлять цифру к данным поля.