CreateHbForm.php 2.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980
  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. /** @var string 生效时间 */
  24. public $effectiveDate;
  25. /**
  26. * {@inheritdoc}
  27. */
  28. public function rules()
  29. {
  30. return [
  31. [['userId'], 'required', 'message' => '请选择用户'],
  32. [['customId'], 'required', 'message' => '请选择客户'],
  33. [['amount'], 'required', 'message' => '请填写红包金额'],
  34. [['minConsume'], 'required', 'message' => '请填写最低消费金额'],
  35. [['days'], 'default', 'value' => 0],
  36. [['count'], 'default', 'value' => 1],
  37. [['remark'], 'default', 'value' => ''],
  38. // 注意:不要对 'userId', 'customId', 'days' 使用 intval 过滤;否则非数字(如 "ggg")会被转成 0,导致校验绕过
  39. //[['userId', 'customId', 'days'], 'filter', 'filter' => 'intval'],
  40. [['amount', 'minConsume'], 'number', 'min' => 0.01, 'message' => '{attribute}必须大于等于0.01'],
  41. [['userId', 'customId'], 'integer', 'min' => 1, 'tooSmall' => '{attribute}参数错误'],
  42. [['days'], 'integer', 'min' => 0, 'max' => 3650, 'tooSmall' => '{attribute}必须大于等于0', 'tooBig' => '{attribute}过大'],
  43. [['count'], 'integer', 'min' => 1, 'max' => 1000, 'tooSmall' => '{attribute}必须大于等于1', 'tooBig' => '{attribute}过大'],
  44. [['remark', 'effectiveDate'], 'string'],
  45. [['remark'], 'filter', 'filter' => 'trim'],
  46. ];
  47. }
  48. /**
  49. * 获取属性标签
  50. * @return array
  51. */
  52. public function attributeLabels()
  53. {
  54. return [
  55. 'userId' => '用户ID',
  56. 'customId' => '客户ID',
  57. 'amount' => '红包金额',
  58. 'minConsume' => '最低消费',
  59. 'days' => '有效时长',
  60. 'count' => '红包个数',
  61. 'effectiveDate' => '生效时间',
  62. 'remark' => '备注信息',
  63. ];
  64. }
  65. }