krajee 의 gridview 작은 구성 요소 가 장면 과 결합 하여 발생 하 는 문제
전화 번 호 를 누 르 면 수정 하고 필수 인증 을 하지만 editmobile 라 는 action 에 제출 하여 검증 합 니 다.
[
'class'=>'kartik\grid\EditableColumn',
'attribute'=>'mobile',
'pageSummary'=>'Total',
'vAlign'=>'middle',
'width'=>'210px',
'readonly'=>function($model, $key, $index, $widget) {
return (!$model->mobile)?$model->mobile:null;
},
'editableOptions' => [
'inputType' => \kartik\editable\Editable::INPUT_TEXT,
'formOptions' => [
'action' => 'editmobile',
],
// 'placement' => 'left',//
]
],
actionEditMobile 은 editmobile 장면 을 연결 하기 때문에 editmobile 장면 에서 mobile 이 필수 항목 입 니 다. 이 구성 요소 의 검증 장면 은 default 이기 때문에 오 류 를 제시 하지 않 았 습 니 다.우 리 는 editmobile 에 제출 할 때 처 리 를 해 야 한다.이 구성 요소 의 코드 를 봤 는데 class Editable ColumnAction 의 function vaidate Editable () 을 찾 았 는데 되 돌아 오 는 데이터 가 모두
return ['output' => $value, 'message' => $message];
이제 어떻게 쓰 는 지 알 겠 죠?
public function actionEditMobile()
{
$post=Yii::$app->request->post();
$id=!empty($post['editableKey'])?$post['editableKey']:false;
if(!$t_id){
$Info=Info::find()->where(['id'=>$id])->one();
$Info->setScenario('editmobile');
$value["Info"] = $post['Info'][$post['editableIndex']];
$Info->load($value);
if(!$Info->save()){
echo json_encode(["output"=>"","message"=> array_values($Info->getFirstErrors())[0]]);
exit;
}
}
}
변경 후 알림 핸드폰 번호 가 비어 있 으 면 안 됩 니 다.
비고: 제 동료 zacklee 가 이 구성 요 소 를 사용 할 때 이 문 제 를 만 났 기 때문에 저 에 게 도움 을 청 했 습 니 다. 그래서 저 는 해결 방법 을 보 냈 습 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 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에 따라 라이센스가 부여됩니다.