CodeIgniter – уникальное значение – отображение ошибки

Я сделал простую форму, подписку на рассылку новостей, которая имеет два входа: email и city . Я использую is_unique в проверке формы, но эта ошибка отображается как текст. Мне нужно изменить это текстовое шоу в окне предупреждения или предупреждении. Нужно что-то исправить эту ошибку в дизайне, предложения, пожалуйста.

Контроллер user.php

 <?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'); } } } } } } 

Solutions Collecting From Web of "CodeIgniter – уникальное значение – отображение ошибки"

Я думаю, что у 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