pat 发表于 2009-2-27 08:48:19

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

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

pat 发表于 2009-2-27 08:49:14

<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()?>

pat 发表于 2009-2-27 08:49:31

自定义验证提示<?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.',
    ),

pat 发表于 2009-2-27 08:49:57

以上是我刚接触Kohana,学的第一课。
其他相关内容请查看:
http://khnfans.cn/docs/libraries/validation
页: [1]
查看完整版本: [实例解析]初试Kohana,第一个目标是Validation