>  기사  >  백엔드 개발  >  Yii2의 간단한 장면 사용

Yii2의 간단한 장면 사용

不言
不言원래의
2018-06-15 16:35:421513검색

이 글은 주로 Yii2의 간단한 시나리오 사용에 대한 관련 정보를 소개합니다. 글의 소개는 매우 자세하고 모든 사람을 위한 특정 참고 자료와 학습 가치가 있습니다. 편집자가 함께 배울 수 있습니다.

이 글은 주로 Yii2의 간단한 시나리오 사용에 대한 관련 내용을 소개합니다. 모든 사람의 참고와 학습을 위해 공유됩니다. 자세한 소개를 살펴보겠습니다.

코드 바로 가기(주요 부분):

모델 레이어:

public function rules()
{
 return [
  [['name', 'account', 'pwd'], 'string', 'max' => 11],
  ['account','required','message'=>'用户名不能为空'],
  ['pwd','required','message'=>'密码不能为空','on'=>'update']
 ];
}

컨트롤러:

$model = new User();
if(isset($_POST['User'])){
 $model -> attributes = Yii::$app->request->post('User');
 $model -> save();
}

현재 컨트롤러에서는 장면이 호출되지 않습니다. 결과는 다음과 같습니다: 사용자 이름은 확인되었지만 비밀번호는 확인되지 않았습니다

컨트롤러에 $model->scenario='update';를 추가하면 결과는 다음과 같습니다. 사용자 이름과 비밀번호가 확인되었습니다. $model->scenario='update';其结果是:用户名,密码都验证了

如果这个时候再在模型加上几句代码:

public function scenarios()
{
 return [
  'update'=>['pwd'],//在该场景下的属性进行验证,其他场景和没有on的都不会验证
 ];
}

其结果是:用户名没有验证,密码验证了

还有要注意如果你在模型里重写了scenarios()

이때 모델에 몇 줄의 코드를 더 추가하면

rrreee

결과는 다음과 같습니다. 사용자 이름은 확인되지 않고 비밀번호는 확인됩니다

또한 model scenarios() 메서드를 사용하고 컨트롤러에서 장면을 호출하는 경우 호출된 장면 이름이 시나리오() 메서드에 있어야 하며, 그렇지 않으면 오류가 발생합니다!
위 내용은 이 글의 전체 내용입니다. 모든 분들의 학습에 도움이 되었으면 좋겠습니다. 더 많은 관련 내용은 PHP 중국어 홈페이지를 주목해주세요!

관련 권장 사항:

yii2는 검색 기능으로 페이징 및 페이징을 구현합니다.

🎜🎜🎜Yii 프레임워크를 구현하여 페이지에서 SQL 문을 출력 및 실행하고 디버그하는 방법 🎜🎜🎜🎜🎜🎜🎜🎜🎜

위 내용은 Yii2의 간단한 장면 사용의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.