代码之家  ›  专栏  ›  技术社区  ›  user759235

yii2,检查输入时使用模型规则

  •  0
  • user759235  · 技术社区  · 7 年前

    yii2是新手,所以我想知道如何使用所需的规则,但只有在选中某个字段时,因为表单中有一个单选字段,允许新用户创建一个帐户作为个人帐户或商业帐户。

    我使用use\u vat\u number作为示例单选按钮。

    public function rules(){
        return [
            ['vat_number', 'required' , 'when' => use_vat_number = 1],//the idea
        ];
    }
    
    2 回复  |  直到 7 年前
        1
  •  1
  •   vishuB    7 年前

    参考 Yii2 when and whenClient property

    public function rules() {
       return [
           ['vat_number', 'required', 'when' => function ($model) {
                return $model->use_vat_number == 1;
            }, 'whenClient' => "function (attribute, value) {
                   var opValue = $('input:radio[name=\\'Here Radio Button Name\\']:checked').val();
                   return opValue==1;
                }",
            ],
       ];
    }
    
        2
  •  0
  •   rob006    7 年前

    您应该使用匿名函数来配置 when 属性:

    public function rules(){
        return [
            [
                'vat_number', 'required' , 
                'when' => function ($model) {
                     return $model->use_vat_number == 1;
                },
            ]
        ];
    }