用户
 找回密码
 入住 CI 中国社区
搜索
查看: 5106|回复: 3
收起左侧

[实例解析]初试Kohana,第一个目标是Validation

[复制链接]
发表于 2009-2-27 08:48:19 | 显示全部楼层 |阅读模式
PHP复制代码
<?php defined('SYSPATH') OR die('No direct access allowed.');
/**
\\kohana\\application\\controllers\\register.php
*/

class Register_Controller extends Controller
{
function index()
{
  $view = new View('view');
  $view->form = array
   (
   'email'      => '',
   'type'    => '',
   );
  $view->errors = $view->form;
  $view->title = "KOHANA 表单验证功能测试";
  $view->selection = array('basic' =>'市级管理员', 'standard' => '区级管理员', 'custom' => '街道管理员');
  $post = new Validation($_POST);
  $post->add_rules('email', 'required', 'email');
  if ($post->validate())
        {
            die(html::anchor('login/index', '注册成功了!'));
        }
        else
        {
            // 重新载入表单字段
            $view->form = arr:verwrite($view->form, $post->as_array());
            // 传递错误字段,并且我们需要创建一个错误信息文件
            // Kohana 通过 errors() 方法调用错误信息文件传递错误信息
   // 需要自定义 application/i18n/en_US/form_errors.php
            $view->errors = arr:verwrite($view->errors, $post->errors('form_errors'));
        }
  $view->render(TRUE);
}
}
复制代码
 楼主| 发表于 2009-2-27 08:49:14 | 显示全部楼层
PHP复制代码
<title><?=$title?></title>
<h1><?=$title?></h1>
<hr />
<?=form::open('register/index'))?>
<? echo form::input('email', $form['email'], ' style="text-align: right;"');?><?=$errors['email']?><br />
<?=form::dropdown('type',$selection,$form['type'])?>
<?=form::submit('submit', 'Send')?>
 
<?=form::close()?>
复制代码
 楼主| 发表于 2009-2-27 08:49:31 | 显示全部楼层
自定义验证提示
PHP复制代码
<?php defined('SYSPATH') or die('No direct access allowed.');
//自定义 application/i18n/en_US/form_errors.php
$lang = array
(
'email' => Array
    (
        'required' => 'The name cannot be blank.',
        'email' => 'email 地址不对.',
        'default' => 'Invalid Input.',
    ),
复制代码
 楼主| 发表于 2009-2-27 08:49:57 | 显示全部楼层
以上是我刚接触Kohana,学的第一课。
其他相关内容请查看:
http://khnfans.cn/docs/libraries/validation

本版积分规则