yii2
Yii2 ActiveForm
수색…
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'),
]);
-
enableClientValidation
은 기본적으로 ActiveForm에서 활성화되어 있습니다. 폼에서 클라이언트 유효성 검사가 필요하지 않은 경우 우리는 false로 지정하여 비활성화 할 수 있습니다. -
enableAjaxValidation
은 기본적으로 ActiveForm에서 비활성화되어 있습니다. 이 기능을 사용하려면 위와 같이 ActiveForm에 수동으로 추가해야합니다. -
validationUrl
-이 양식에 대한 별도의 컨트롤러 액션의 모든 유효성 검사 코드를 유지하려는 경우 우리는 사용하여 ActiveForm을 구성 할 수 있습니다validationUrl
. 이것을 설정하지 않으면 폼의 액션 값을 취할 것입니다.
위의 두 인수는 전체 양식에 영향을 미칩니다. 양식의 특정 필드에 대해서만 ajax 유효성 검사를 확인하려면 해당 특정 필드에 enableAjaxValidation
을 추가 할 수 있습니다. 전체 양식이 아닌 해당 필드에서만 작동합니다.
예를 들어 등록 양식에서 사용자 이름을 확인하려면 이미 사용자가 양식에 입력 한 시간에 유효성 검증이 있어야합니다. 이 필드에 대해 enableAjaxValidation
인수를 사용할 수 있습니다.
echo $form->field($model, 'username', ['enableAjaxValidation' => true]);