Yii 2.0 ajax 인증, 인증 코드 오류, load 방법
6116 단어 yii2
//
public function rules(){
return [
[['telnumber','verifyCode','password','name'],'required'],
['telnumber','match','pattern'=>'/^(((13[0-9]{1})|(15[0-9]{1})|(18[0-9]{1}))+\d{8})$/','message'=>' 。'],
['telnumber','unique','targetClass'=>'\app\commands\models\Member','message'=>' 。'],
['password','string','min'=>6,'max'=>18],
['name','string','min'=>2,'max'=>6],
['verifyCode', 'captcha','captchaAction'=>'/member/captcha'],
];
}
여기 서 주의해 야 할 것 은 targetClass 가 인증 류 에 대응 하 는 model 이 라 고 쓰 는 것 입 니 다.From 의 인증 과 제출 url, 나 는 따로 썼 다.
$form = ActiveForm::begin(['id' => 'righster-form','enableAjaxValidation' => true,'enableClientValidation' => true,'validationUrl'=>'checkreg']); ?>
검 증 된 url 을 단독으로 지정 하 였 습 니 다. 해당 하 는 검증 방법 은 반드시 반환 값 이 있어 야 합 니 다. 반환 값 이 없 으 면 결과 응답 이 없습니다.
//
public function actionCheckreg()
{
if(Yii::$app->request->isAjax&&isset($_POST['ajax'])){
$model = new RegisterForm();
// model
$model->load(Yii::$app->request->post());
// json
Yii::$app->response->format = \yii\web\Response::FORMAT_JSON;
$errors=\yii\bootstrap\ActiveForm::validate($model,array('telnumber','password','name'));
if(sizeof($errors)>0){
return $errors;
}
return true;
}
}
위의 검증 방법 은 Form 의 검증 을 사용 합 니 다. Model 의 검증 으로 잘못된 정 보 를 return 할 때 id 속성 과 form 의 대응 이 불가능 하기 때문에 정상적으로 표시 할 수 없습니다.ActiveForm:: vaidate 의 검증 필드 를 지 정 했 습 니 다. 모든 것 을 검증 하면 인증 코드 에 문제 가 생 길 수 있 기 때 문 입 니 다. 검증 할 때마다 새로운 인증 코드 가 생 성 되 기 때 문 입 니 다.사고방식 은 바로 이곳 의 데이터 검사 에서 휴대 전화 번호 의 비밀번호 이름 만 검증 하 는 것 이다.인증번호 의 검 사 는 yii 에 게 맡 겨 라.2. load 방법 은 post 에서 제출 한 데 이 터 를 model 에 로드 합 니 다. form 폼 model 이 아 닌 데이터 model 입 니 다.form 폼 load POST 데 이 터 를 직접 채 우 면 false 로 돌아 갑 니 다.원인: form 폼 에서 온 Post 데이터 input 은 모두 접 두 사 를 가지 고 있 기 때문에 데이터 model 의 속성 열 이름과 일치 하지 않 아 Load 에 실 패 했 습 니 다.해결: load 에 인자 2 를 폼 제출 접두사 로 지정 하면 Load true 를 사용 할 수 있 습 니 다.
$member=new Member();
$member->load(Yii::$app->request->post(),'RegisterForm');
$member->login_ip=Yii::$app->request->getUserIp();
$member->login_date=time();
한편 으로 는 배우 면서 한편 으로 는 하면 서, 진도 가 비교적 느리다.필기 + 총 결 을 배 워 보 세 요.YII 가 정말 강하 다 고 할 수 밖 에 없다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Yii2.0 rules 검증 규칙 집합required: 필수 값 검증 속성 이메일: 메일박스 인증 match: 정규 검증 URL: 사이트 주소 captcha: 인증 코드 안전 비교: 비교 default: 기본값 exist:존재 파일:파일 filter:필...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.