티스토리 뷰
* 생성
$validation = Validation::factory(array(
'name' => 'Lysender',
'email' => 'lysender@troy.org',
'address' => 'City of Troy',
'zip' => '1234'
));
* 룰 추가
// Adding a rule looks the same syntax but let's dig deeper later on
$validation->rule('name', 'not_empty');
$validation->rule('name', 'min_length', array(':value', 4));
function is_visitor_email_unique($visitor_model, $email)
{
return (boolean) $visitor_model->get_by_email($email);
}
function is_visitor_name_unique($visitor_model, $name)
{
return (boolean) $visitor_model->get_by_name($name);
}
패스워드 확인 지정
application/messages/signup.php 지정
// Then your validation rule will look like this
$visitor_model = new Model_Visitor;
$validation->bind(':visitor', $visitor_model);
$validation->rule('email', 'is_visitor_email_unique', array(':visitor', ':value'));
$validation->rule('name', 'is_visitor_name_unique', array(':visitor', ':value'));
class Model_Visitor
{
public function is_visitor_name_unique($name)
{
return (boolean) $this->get_by_name($name);
}
public function is_visitor_email_unique($email)
{
return (boolean) $this->get_by_email($email);
}
public function get_by_name($name)
{
// Some magic that will retrieve a record by looking up a name
// ...
return $record;
}
public function get_by_email($email)
{
// Some magic that will retrieve a record by looking up an email address
// ...
return $record;
}
}
많은 룰을 지정
$validation->rule('name', 'not_empty')
$visitor = new Model_Visitor;
$validation->rule('name', array($visitor, 'is_visitor_name_unique'));
많은 룰을 지정
$validation->rule('name', 'not_empty')
->rule('name', 'min_length', array(':value', 4))
->rule('name', 'max_length', array(':value', 16))
->rule('email', 'not_empty')
->rule('email', 'email')
->rule('address', 'min_length', array(':value', 5))
->rule('address', 'max_length', array(':value', 100))
->rule('zip', 'min_length', array(':value', 3))
->rule('zip', 'max_length', array(':value', 4));
$result = $validation->check();
패스워드 확인 지정
$validation->rule('password_confirm', 'matches', array(':validation', 'password_confirm', 'password'));
application/messages/signup.php 지정
<?php
return array(
'name' => array(
'not_empty' => 'Name is required',
'min_length' => 'Name is too short, minimum is :param2',
'max_length' => 'Name is too long, maximum is :param2'
),
'email' => array(
'not_empty' => 'Email is required',
'email' => 'Email must be a valid email address'
),
'address' => array(
'min_length' => 'Address is too short, minimum is :param2',
'max_length' => 'Address is too long, maximum is :param2'
),
'zip' => array(
'min_length' => 'Zip is too short, minimum is :param2',
'max_length' => 'Zip is too long, maximum is :param2'
),
);
'웹개발 > Php' 카테고리의 다른 글
PHP 파일 모드 간단 설명 (0) | 2012.01.11 |
---|---|
PHP 정규 표현식 10가지 사용 예제 (2) | 2011.09.06 |
Kohana Query Builder (0) | 2011.08.26 |
Kohana Request (0) | 2011.08.26 |
Kohana 3.2 Config 얻기.. (0) | 2011.08.24 |
댓글