我使用具有兩個值的單選按鈕,即Individual和Firm。 我正在尋找一個場景,如果單選按鈕的值爲Firm,則CompanyName
textinput應作爲強制(必填)字段。並且,當選擇具有個人值的單選按鈕時,則CompanyName
textinput應作爲可選字段。Textfield強制性基於單選按鈕選擇 - Yii2
我沒有得到如何去做。我試圖在CompanyName textinput中添加addAttribute爲必填項。但它不起作用RegisterForm.php
(模型)沒有指定任何規則。
那麼,任何想法如何做到這一點。我沒有得到。任何幫助?
register.php(視圖)
<?php $form = ActiveForm::begin(['id' => 'register-form']); ?>
.
.
.
<?= $form->field($model, 'AdminType')
->radioList(array('Individual'=>'An Individual', 'Firm'=>'Firm/Company/Group of Employees'))
->label('Are You')?>
<?= $form->field($model, 'CompanyName')->textInput()->label('Company Name') ?>
<div class="form-group">
<?= Html::submitButton('Register', ['class' => 'btn btn-success', 'name' => 'register-button' ]) ?>
</div>
<?php ActiveForm::end(); ?>
<script>
$('input[type="radio"]').click(function()
{
if($(this).attr("value")=="Firm")
{
$('#registerform-companyname').addAttribute("required");
}
});
</script>
RegisterForm.php(模型)
<?php
namespace app\models;
use Yii;
use yii\base\Model;
use kartik\password\StrengthValidator;
class RegisterForm extends Model
{
public $fname;
public $lname;
public $email;
public $password;
public $confirmPassword;
public $AdminType;
public $CompanyName;
public $verifyCode;
public function rules()
{
return [
[['fname','lname', 'email', 'password','confirmPassword','verifyCode','AdminType'], 'required'],
['email', 'email'],
['confirmPassword', 'compare', 'compareAttribute' => 'password'],
['verifyCode', 'captcha'],
];
}
嗨@SmartCoder。它沒有奏效。幫我。 –
我也在這裏問我的問題@SmartCoder。請看看這個http://stackoverflow.com/questions/32969883/custom-validation-not-working-yii2-app-basic-yii2。 –
編輯修復 – SmartCoder