'请填写商品名称'], [['priceType'], 'required', 'message' => '请选择价格类型'], [['catIds'], 'required', 'message' => '请选择商品分类'], ['weight', 'required', 'message' => '请填写重量'], // 默认值设置 ['price', 'default', 'value' => 0], ['flowerNum', 'default', 'value' => 0], ['sold', 'default', 'value' => 0], ['catIds', 'default', 'value' => []], // 数据类型验证 [['name', 'cover'], 'string'], [['flowerNum', 'stock'], 'integer'], ['priceType', 'in', 'range' => [0, 1]], ['price', 'number', 'min' => 0, 'message' => '商品价格必须大于或等于0'], ['flowerNum', 'number', 'min' => 0, 'message' => '花朵数量必须大于或等于0'], ['weight', 'number', 'min' => 0, 'message' => '重量必须大于或等于0'], ['sold', 'integer', 'min' => 0, 'message' => '已售数量必须大于或等于0'], [['stockSet'], 'in', 'range' => [0, 1]], [['needSend'], 'in', 'range' => [0, 1]], [['freightType'], 'in', 'range' => [0, 1]], [['status'], 'in', 'range' => [0, 1]], [['autoRise'], 'in', 'range' => [0, 1]], // 添加条件验证 // ['price', 'required', 'message' => '请填写商品价格', 'when' => function($model) { // return isset($_POST['priceType']) && $_POST['priceType'] == '1'; // }], // 数组类型验证 [['shopImg'], 'validateShopImg'], // 其他业务规则验证 [['flowerNum'], 'number', 'min' => 0, 'message' => '花朵数量必须大于或等于0'], ]; } /** * 验证商品图片 * @param string $attribute 属性名 * @param array $params 参数 */ public function validateShopImg($attribute, $params) { if (!empty($this->$attribute) && !is_array($this->$attribute)) { $this->addError($attribute, '商品图片格式不正确'); } } /** * 获取属性标签 * @return array */ public function attributeLabels() { return [ 'name' => '商品名称', 'price' => '商品价格', 'kindId' => '商品种类ID', 'kindName' => '商品种类名称', 'flowerNum' => '花朵数量', 'shopImg' => '商品图片', 'cover' => '商品封面图', 'stock' => '商品库存', 'spu' => '商品编码', 'autoRise' => '自动涨价', ]; } }