【发布时间】:2017-10-18 04:30:27
【问题描述】:
我创建了包含以下字段的注册表单,
- 姓名
- 电子邮件
- 角色
- 密码
- 确认密码
但是表单验证不起作用
我尝试了很多但不起作用是我想更改 Config.php 中的任何内容我已经更改了 $config[library],$config[helper] 任何人都可以在这段代码中帮助我。提前谢谢你
这是我的控制器
<?php
defined('BASEPATH') OR exit('No direct script access allowed');
class Login extends CI_Controller {
public function __construct()
{
parent::__construct();
$this->load->model('Mod_saloon');
$this->load->helper(array('form', 'url'));
$this->load->library(array('session', 'form_validation', 'email'));
$this->load->helper('url');
}
public function index()
{
$this->load->view('login');
}
public function show_signup()
{
$this->load->view('signup');
}
public function signup()
{
$config = array(
array(
'field' => 'name',
'label' => 'Username',
'rules' => 'required|min_length[5]|max_length[12]|is_unique[signup.name]'
),
array(
'field' => 'password',
'label' => 'Password',
'rules' => 'required',
'errors' => array(
'required' => 'You must provide a %s.',
),
),
array(
'field' => 'cpassword',
'label' => 'Password Confirmation',
'rules' => 'required|matches[password]'
),
array(
'field' => 'email',
'label' => 'Email',
'rules' => 'required|valid_email|is_unique[signup.email]'
)
);
$this->form_validation->set_rules($config);
$this->form_validation->set_rules(
'name', 'Username',
'required|min_length[5]|max_length[12]|is_unique[signup.name]',
array(
'required' => 'You have not provided %s.',
'is_unique' => 'This %s already exists.'
)
);
$this->form_validation->set_rules('password', 'Password', 'required');
$this->form_validation->set_rules('cpassword', 'Password Confirmation', 'required|matches[password]');
$this->form_validation->set_rules('email', 'Email', 'required|valid_email|is_unique[signup.email]');
if ($this->form_validation->run() == FALSE)
{
echo "<script>alert('Validation Error');</script>";
$this->load->view('signup');
}
else
{
$name = NULL;
$role=NULL;
$email=NULL;
$password=NULL;
$cpassword=NULL;
extract($_POST);
$signup['$name'] = $name;
$signup['$role'] = $role;
$signup['$email'] = $email;
$signup['$password'] = $password;
$signup['$cpassword'] = $cpassword;
$this->Mod_saloon->new_signup($signup);
$this->load->view('signup');
}
}
}
这是我的观点
<form action="signup" method="post">
<div class="form-group has-feedback">
<input type="text" class="form-control" name="name" placeholder="Name">
<span class="glyphicon glyphicon-user form-control-feedback"></span>
</div>
<select class="form-control" name="role">
<option disabled selected value> --Select the Role-- </option>
<option value="admin">Admin</option>
<option value="user">User</option>
</select>
<div class="form-group has-feedback">
<input type="email" class="form-control" name="email" placeholder="Email">
<span class="glyphicon glyphicon-envelope form-control-feedback"></span>
</div>
<div class="form-group has-feedback">
<input type="password" class="form-control" name="password" placeholder="Password">
<span class="glyphicon glyphicon-lock form-control-feedback"></span>
</div>
<div class="form-group has-feedback">
<input type="password" class="form-control" name="cpassword" placeholder="Confirm Password">
<span class="glyphicon glyphicon-lock form-control-feedback"></span>
</div>
<div class="gap"></div>
<button type="submit" class="btn btn-primary btn-block btn-flat centered" style="width:35%;">Create User</button>
</form>
【问题讨论】:
标签: forms codeigniter validation