Я сделал простую форму, подписку на рассылку новостей, которая имеет два входа: email
и city
. Я использую is_unique
в проверке формы, но эта ошибка отображается как текст. Мне нужно изменить это текстовое шоу в окне предупреждения или предупреждении. Нужно что-то исправить эту ошибку в дизайне, предложения, пожалуйста.
Контроллер user.php
- Codeigniter отправлять почту с помощью gmail не работает, просто перезагружая
- Использование Amazon MWS (API-интерфейс Inventory API) с помощью CodeIgniter (PHP)
- вызов функции php с использованием ajax после интервала времени
- Доступ к переменным $ _SERVER из командной строки
- CLI (интерфейс командной строки) Cron Job не получает правильного контроллера
- Codeigniter - я ищу для использования / подключения к другой базе данных для одного из моих контроллеров и одной модели
<?php if (!defined('BASEPATH')) exit('No direct script access allowed'); class User extends CI_Controller { function __construct() { parent::__construct(); $this->load->helper('form'); $this->load->helper('url'); $this->load->library('user_agent'); $this->load->library('form_validation'); } public function create_user() { // field name, error message, validation rules $lang = $this->input->post("lang"); $this->form_validation->set_rules('email', 'Email', 'trim|required|valid_email|is_unique[users.email]'); $this->form_validation->set_rules('city', 'City', 'trim|required'); if ($this->form_validation->run() == FALSE) { if ($lang == "en") { if ($this->agent->is_mobile()) { $this->load->view('m_english_signup'); } else { $this->load->view('d_english_signup'); } } //if ($this->agent->is_mobile()) else { if ($this->agent->is_mobile()) { $this->load->view('m_arabic_signup'); } else { $this->load->view('d_arabic_signup'); } } } else { $this->load->model('Users_model'); if ($query = $this->Users_model->create_member()) { if ($lang == "en") { if ($this->agent->is_mobile()) { $this->load->view('m_english_thanks'); } else { $this->load->view('d_english_thanks'); } } else { if ($this->agent->is_mobile()) { $this->load->view('m_arabic_thanks'); } else { $this->load->view('d_arabic_thanks'); } } } } } }
Я думаю, что у Nilesh есть лучшее решение, которое вам нужно. С помощью javascript вы можете, если введенный email уже существует, вы можете создать предупреждение. В качестве альтернативы вы можете использовать Bootstrap для создания своего div
(при условии, что у вас есть один выше вашего ввода электронной почты):
<div class="alert" style="display: none"> <a class="close" data-hide="alert" >×</a> <Strong><?php echo form_error('email'); ?></strong> </div> <input name="email" value="<?php echo set_value('email'); ?>" />
Затем напишите javascript:
$(document).ready(function(){ $("[data-hide]").on("submit", function(){ $("." + $(this).attr("data-hide")).hide(); }); });
Надеюсь, это поможет.
Вам нужно установить собственное сообщение об ошибке?
попробуйте CodeIgnitor Userguide http://ellislab.com/codeigniter%20/user-guide/libraries/form_validation.html#settingerrors