CreateHbForm.php 2.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576
  1. <?php
  2. namespace hd\models\hb;
  3. use hd\models\BaseForm;
  4. /**
  5. * 创建红包表单模型
  6. */
  7. class CreateHbForm extends BaseForm
  8. {
  9. /** @var int */
  10. public $userId;
  11. /** @var int */
  12. public $customId;
  13. /** @var int */
  14. public $amount;
  15. /** @var int */
  16. public $minConsume;
  17. /** @var int 有效天数 */
  18. public $days;
  19. /** @var int 发放张数 */
  20. public $count;
  21. /** @var string 备注 */
  22. public $remark;
  23. /**
  24. * {@inheritdoc}
  25. */
  26. public function rules()
  27. {
  28. return [
  29. [['userId'], 'required', 'message' => '请选择用户'],
  30. [['customId'], 'required', 'message' => '请选择客户'],
  31. [['amount'], 'required', 'message' => '请填写红包金额'],
  32. [['minConsume'], 'required', 'message' => '请填写最低消费金额'],
  33. [['days'], 'default', 'value' => 0],
  34. [['count'], 'default', 'value' => 1],
  35. [['remark'], 'default', 'value' => ''],
  36. // 注意:不要对 'userId', 'customId', 'days' 使用 intval 过滤;否则非数字(如 "ggg")会被转成 0,导致校验绕过
  37. //[['userId', 'customId', 'days'], 'filter', 'filter' => 'intval'],
  38. [['amount', 'minConsume'], 'number', 'min' => 0.01, 'message' => '{attribute}必须大于等于0.01'],
  39. [['userId', 'customId'], 'integer', 'min' => 1, 'tooSmall' => '{attribute}参数错误'],
  40. [['days'], 'integer', 'min' => 0, 'max' => 3650, 'tooSmall' => '{attribute}必须大于等于0', 'tooBig' => '{attribute}过大'],
  41. [['count'], 'integer', 'min' => 1, 'max' => 1000, 'tooSmall' => '{attribute}必须大于等于1', 'tooBig' => '{attribute}过大'],
  42. [['remark'], 'string'],
  43. [['remark'], 'filter', 'filter' => 'trim'],
  44. ];
  45. }
  46. /**
  47. * 获取属性标签
  48. * @return array
  49. */
  50. public function attributeLabels()
  51. {
  52. return [
  53. 'userId' => '用户ID',
  54. 'customId' => '客户ID',
  55. 'amount' => '红包金额',
  56. 'minConsume' => '最低消费',
  57. 'days' => '有效时长',
  58. 'count' => '红包个数',
  59. 'remark' => '备注信息',
  60. ];
  61. }
  62. }