수색…


Yii2의 양식 필드

새로운 학습자를위한 Yii2의보기 페이지의 기본 예보기

이것은 yii2 ActiveForm을 사용하여 양식을 작성하기 위해 추가해야하는 기본 클래스입니다.

<?php

Use yii\helpers\Html;
Use yii\widgets\ActiveForm;

아래 라인은 폼의 id 태그를 지정하는 방법과 폼에 클래스를 적용하는 방법을 보여주는 예제를 보여주는 폼의 form 태그를 시작합니다.

$form =ActiveForm::begin([   'id'=> 'login-form',   'options'=> ['class' => 'form-horizontal'],]) ?>

여기서 $ model 해당 컨트롤러에서 전달 된이 변수에 여기에 저장된 모델 객체와 결합 할 데이터베이스 테이블 필드를 지정하십시오.

   <?= $form->field($model, 'username') ?>
   <?= $form->field($model, 'password')->passwordInput() ?>

'username'및 'password'는 값이 바인딩되는 테이블 필드의 이름입니다.

아래 코드에서 우리는 폼 제출을위한 제출 버튼을 넣고 버튼 텍스트와 기본 CSS 클래스로 '로그인'을 적용합니다.

 <div class="form-group">
       <div class="col-lg-offset-1 col-lg-11">
           <?= Html::submitButton('Login', ['class' => 'btn btn-primary']) ?>
       </div>
   </div>

아래 코드에서 우리는 폼을 닫습니다.

<?php ActiveForm::end() ?>

비밀번호 필드 생성 :

<?= $form->field($model, 'password')->passwordInput() ?>

TextField 만들기 :

<?= $form->field($model, 'username') ?>

숨겨진 양식 필드 생성 :

echo $form->field($model, 'hidden1')->hiddenInput()->label(false);

드롭 다운 만들기 :

<?php echo $form->field($model, 'name')
->dropdownList(
Stud::find()->select(['name'])
->indexBy('name')->column(),
['prompt'=>'Select no']); ?>

Id 및 이름이있는 드롭 다운 목록

<?= $form->field($model, 'name')->dropDownList(
            ArrayHelper::map(Stud::find()->all(), 'no', 'name'),['prompt' => 'Select Car Name']
 ) ?>

FileUploader 만들기 :

echo $form->field($model, 'imagepath')->fileInput();

자리 표시 자 및 사용자 정의 레이블 추가

 <?= $form->field($model, 'username')->textInput()->hint('Please enter your  name')->label('Name') ?>

ActiveForm 유효성 검사

활성 양식에서 아약스 및 클라이언트 유효성 검사를 활성화 / 비활성화 할 수 있습니다.

$form = ActiveForm::begin([
    'id' => 'signup-form',
    'enableClientValidation' => true,
    'enableAjaxValidation' => true,
    'validationUrl' => Url::to('signup'),
]);
  1. enableClientValidation 은 기본적으로 ActiveForm에서 활성화되어 있습니다. 폼에서 클라이언트 유효성 검사가 필요하지 않은 경우 우리는 false로 지정하여 비활성화 할 수 있습니다.
  2. enableAjaxValidation 은 기본적으로 ActiveForm에서 비활성화되어 있습니다. 이 기능을 사용하려면 위와 같이 ActiveForm에 수동으로 추가해야합니다.
  3. validationUrl -이 양식에 대한 별도의 컨트롤러 액션의 모든 유효성 검사 코드를 유지하려는 경우 우리는 사용하여 ActiveForm을 구성 할 수 있습니다 validationUrl . 이것을 설정하지 않으면 폼의 액션 값을 취할 것입니다.

위의 두 인수는 전체 양식에 영향을 미칩니다. 양식의 특정 필드에 대해서만 ajax 유효성 검사를 확인하려면 해당 특정 필드에 enableAjaxValidation 을 추가 할 수 있습니다. 전체 양식이 아닌 해당 필드에서만 작동합니다.

예를 들어 등록 양식에서 사용자 이름을 확인하려면 이미 사용자가 양식에 입력 한 시간에 유효성 검증이 있어야합니다. 이 필드에 대해 enableAjaxValidation 인수를 사용할 수 있습니다.

echo $form->field($model, 'username', ['enableAjaxValidation' => true]);


Modified text is an extract of the original Stack Overflow Documentation
아래 라이선스 CC BY-SA 3.0
와 제휴하지 않음 Stack Overflow