Saya memiliki formulir safecracker yang memungkinkan pengguna memasukkan judul, url_title konten isi. Jika url_title sudah digunakan, secara default, nomor numerik akan ditambahkan ke url_title sehingga unik. Tetapi alih-alih memiliki perilaku otomatis di mana nomor ditambahkan ke url_title, Apakah ada cara saya dapat memberi tahu pengguna bahwa url_title yang diketik sudah diambil sehingga pengguna dapat memasukkan yang baru.
Expressionengine Beri tahu pengguna jika url_title sudah digunakan
Jawaban (1)
Untuk memvalidasi {url_title}
dalam formulir SafeCracker Anda dengan cepat sebelum dikirimkan, Anda dapat menulis rutinitas Ajax yang akan memeriksa dan membandingkan nilai <input />
dengan kolom url_title
di tabel database exp_channel_titles
.
Ketika SafeCracker dikembangkan oleh Barrett Newton, dulu ada Dokumentasi pengembang untuk Custom Fieldtypes dan Extension Hooks, namun sejak EllisLab mengambil alih SafeCracker, saya yakin keduanya telah dihapus.
Namun, karena SafeCracker menangani validasi formulir sisi servernya menggunakan kelas Validasi Formulir CodeIgniter, Anda harus dapat memperluas kelas validasi untuk memenuhi kebutuhan Anda dengan membuat fungsi panggilan balik untuk memvalidasi {url_title}
pada pengiriman formulir, alih-alih mengizinkan ExpressionEngine secara diam-diam menambahkan digit ke data lapangan.