Yii2form表单的model怎么将变量分配进去

Yii2form表单的model怎么将变量分配进去,第1张

直接在Controller里面getModel(Model.class).save()即可

约定是表单提交的name为Model的className首字母小写.数据库属性

1. 确保数据是用户输入安全的(safe)

使用rules方法批量设置Model属性为输入安全的

[php] view plaincopy

public function rules() {

return array(

array('username, password, gender,

email, tel', 'safe'),

)

}

2. 如果设置了场景(Scenario),确保该场景匹配输入安全的规则

[php] view plaincopy

public function rules() {

......

array('gender, email, tel', 'safe', 'on'=>'create,update'),

......

}

在属性设置前设置一下场景(Scenario),

[php] view plaincopy

...

$model->setScenario('create')

$model->attributes = $_POST['user']

...

条件:①、有两个字段分别是A和B ②、A有两个值分别是1和2

需求是:当用户选择的A的值等于1的时候,B的值必须填写,当A的值等于2的时候,B的值不写也没关系。其中A必选。

首先在其关联model上加上下面这句规则

/**

* @inheritdoc

*/

public function rules()

{

return [

[['B'], 'requiredByASpecial'],

]

}

然后在该model里面去实现requiredByASpecial方法即可

/**

* 自定义验证B

*/

public function requiredByASpecial($attribute, $params)

{

if ($this->A== 1)

{

if ($this->B=== '')

$this->addError($attribute, "B的值不可以为空.")

}

}

上面的意思就是说当A等于1且B的值为空时,返回错误信息"B的值不可以为空"。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/11447985.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-16
下一篇 2023-05-16

发表评论

登录后才能评论

评论列表(0条)

保存