yii 사용자 등록표 검증 실례
보기층:register.php
beginWidget('CActiveForm');
?>
labelEx($model,'username');?>
textField($model,'username');?>
error($model,'username');?>
labelEx($model,'password');?>
passwordField($model,'password');?>
error($model,'password');?>
labelEx($model,'password2');?>
passwordField($model,'password2');?>
error($model,'password2');?>
labelEx($model,'email');?>
textField($model,'email');?>
error($model,'email');?>
labelEx($model,'sex');?>
radioButtonList($model,'sex',array(1=>' ',2=>' '),array("separator"=>" "));?>
labelEx($model,'grade');?>
dropDownList($model,'grade',array(0=>"-- --",1=>"2010 ",2=>"2011 ",3=>"2012 "));?>
error($model,'grade');?>
labelEx($model,'hobby');?>
checkBoxList($model,'hobby',array(1=>" ",2=>" ",3=>" "),array("separator"=>" "));?>
error($model,'hobby');?>
endWidget();
?>
모델 레이어의 코드는 다음과 같습니다. User.php
" ",
"password"=>" ",
"password2"=>" ",
"email"=>" ",
"sex"=>" ",
"grade"=>" ",
"hobby"=>" ",
);
}
//
public function rules() {
return array(
array("username","required","message"=>" "),
array("password","required","message"=>" "),
//
array("password2","compare","compareAttribute"=>"password","message"=>" "),
//
array("email","email","allowEmpty"=>false,"message"=>" "),
//
array("grade","in","range"=>array(1,2,3),"message"=>" "),
// ,
array("hobby","checkHobby"),
);
}
//
function checkHobby(){
$this->hobby;
$len= strlen($this->hobby);
if($len<3){
$this->addError("hobby"," 2 ");
}
}
}
?>
control 레이어의 코드는 다음과 같습니다.
//
public function actionAdd(){
$user=new User();
if(isset($_POST['User'])){
// foreach ($_POST['User'] as $k =>$v){
// $user->$k=$v;
// }
if(is_array($_POST['User']['hobby']))
$_POST['User']['hobby']= implode(",", $_POST['User']['hobby']);
//print_r($_POST['User']);
$user->attributes=$_POST['User'];
if($user->save()){
echo 'success';
}else{
echo 'error';
}
}
$this->renderPartial("new",array("model"=>$user));
}
그 중에서 폼의 자동 검증은 모델층에서 이루어지고 폼 요소의 이름은 데이터베이스에 있는 필드의 이름과 일치하며 오류 정보를 설정하여 제시할 수 있다.
본고에서 기술한 바와 같이yii 프레임워크를 바탕으로 하는 PHP 프로그램 설계에 도움이 되기를 바랍니다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.