Thinkphp 자동 검증 및 자동 완성
1.자동 인증 형식:
array(
array( 1, , ,[ , , ]),
array( 2, , ,[ , , ]),
......
);
인증 조건:self::EXISTS_VALIDATE 또는 0 필드 가 존재 하면 인증(기본 값)
self::MUST_VALIDATE 또는 1 은 검증 해 야 합 니 다.
self::VALUE_VALIDATE 또는 2 값 이 비어 있 지 않 을 때 검증
인증 시간:
self::MODEL_INSERT 또는 1 데이터 추가 시 검증
self::MODEL_UPDATE 또는 2 데이터 편집 시 검증
self::MODEL_BOTH 또는 3 모든 상황 에서 검증(기본 값)
2.자동 완성 형식:
array(
array( 1, ,[ , ]),
array( 2, ,[ , ]),
......
);
완료 시간:self::MODEL_INSERT 혹은 1 데이터 추가 시 처리(기본 값)
self::MODEL_UPDATE 혹은 2 데이터 업데이트 시 처리
self::MODEL_BOTH 나 3 모든 상황 을 다 처리 합 니 다.
작은 인 스 턴 스(등록)
HTML 레이아웃:
<form class="form-horizontal" action="{:U('Login/register')}" method="post" autocomplete="off" enctype="multipart/form-data">
<div class="form-group">
<label class="col-lg-2 control-label"> </label>
<div class="col-lg-4">
<input class="form-control" type="text" name="username" />
</div>
</div>
<div class="form-group">
<label class="col-lg-2 control-label"> </label>
<div class="col-lg-4">
<input class="form-control" type="password" name="password" />
</div>
</div>
<div class="form-group">
<label class="col-lg-2 control-label"> </label>
<div class="col-lg-4">
<input class="form-control" type="password" name="repassword" />
</div>
</div>
<div class="form-group">
<label class="col-lg-2 control-label"> </label>
<div class="col-lg-4">
<input class="form-control" type="file" name="portrait" id="imgpath" />
<img style="width: 100%;" src="" id="showimgpath" alt=" "/>
<span class="help-block"> 80*80px</span>
</div>
</div>
<div class="form-group">
<label class="col-lg-2 control-label"> </label>
<div class="col-lg-4">
<div class="btn-group" data-toggle="buttons">
<label class="btn btn-default active">
<input type="radio" name="gender" autocomplete="off" value="1" checked />
</label>
<label class="btn btn-default">
<input type="radio" name="gender" autocomplete="off" value="0" />
</label>
</div>
</div>
</div>
<div class="form-group">
<label class="col-lg-2 control-label"> </label>
<div class="col-lg-4">
<input class="form-control" type="input" name="phone" />
</div>
</div>
<div class="form-group">
<label class="col-lg-2 control-label"> </label>
<div class="col-lg-4">
<input class="form-control" type="input" name="email" />
</div>
</div>
<div class="form-group">
<div class="col-lg-2 col-lg-offset-2">
<button class="btn btn-primary btn-block btn-submit" type="submit"> </button>
</div>
</div>
</form>
모델(MemberModel)
<?php
namespace Admin\Model;
use Think\Model;
class MemberModel extends Model {
/* */
protected $_validate = array(
array('username', '', ' !', self::EXISTS_VALIDATE, 'unique', self::MODEL_INSERT),
array('password', 'require', ' !', self::EXISTS_VALIDATE, '', self::MODEL_INSERT),
array('repassword', 'password', ' !', self::EXISTS_VALIDATE, 'confirm', self::MODEL_INSERT),
array('phone','11',' !', self::EXISTS_VALIDATE, 'length', self::MODEL_INSERT),
array('email', 'email', ' !',self::EXISTS_VALIDATE, '', self::MODEL_INSERT)
);
/* */
protected $_auto = array(
array('password', 'encrypt', self::MODEL_INSERT, 'callback'),
array('state','1',self::MODEL_INSERT),
array('portrait', 'portrait', self::MODEL_INSERT, 'callback'),
array('create_time', 'createTime', self::MODEL_INSERT, 'callback')
);
/* */
public function encrypt() {
return md5(crypt(I('post.password/s'), 'zh'));
}
/* */
public function createTime() {
return time();
}
/* */
public function portrait() {
if($_FILES['portrait']['name']) { //
$upload = new \Think\Upload();//
$upload->maxSize = 3145728 ;//
$upload->exts = array('jpg', 'gif', 'png', 'jpeg');//
$upload->rootPath = './Uploads/portrait/'; //
//
$info = $upload->uploadOne($_FILES['portrait']);
if(!$info) {//
$this->error($upload->getError());
}else{//
$portraitPath = './Uploads/portrait/'.$info['savepath'].$info['savename'];
$image = new \Think\Image();
$image->open($portraitPath);
// 80*80
$image->thumb(150, 150,\Think\Image::IMAGE_THUMB_CENTER)->save($portraitPath);
return $info['savepath'].$info['savename'];
}
}
}
}
대응 하 는 데이터 테이블 구조:컨트롤 러 에서 데이터베이스 검색 및 삽입:
/* */
public function register() {
if(IS_POST) {
$member = D('member');
if($member->create()) {
if($member->add()) {
$this->success(' !');
} else {
$this->error(' !');
}
} else {
exit($member->getError());
}
}
$this->display();
}
이상 이 본문의 전부 이 므 로 여러분 의 학습 에 도움 이 되 기 를 바 랍 니 다
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Laravel - 변환된 유효성 검사 규칙으로 API 요청 제공동적 콘텐츠를 위해 API를 통해 Laravel CMS에 연결하는 모바일 앱(또는 웹사이트) 구축을 고려하십시오. 이제 앱은 CMS에서 번역된 콘텐츠를 받을 것으로 예상되는 다국어 앱이 될 수 있습니다. 일반적으로 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.