elm.php 2.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667
  1. <?php
  2. /**
  3. * PHP表单生成器
  4. *
  5. * @package FormBuilder
  6. * @author xaboy <xaboy2005@qq.com>
  7. * @version 2.0
  8. * @license MIT
  9. * @link https://github.com/xaboy/form-builder
  10. * @document http://php.form-create.com
  11. */
  12. namespace App;
  13. use FormBuilder\Factory\Elm;
  14. $api = '/save.php';
  15. $form = Elm::createForm($api);
  16. $rules = [
  17. Elm::input('svip_name', '会员名:')->required(),
  18. Elm::radio('svip_type', '会员类别:', '2')
  19. ->setOptions([
  20. ['value' => '1', 'label' => '试用期',],
  21. ['value' => '2', 'label' => '有限期',],
  22. ['value' => '3', 'label' => '永久期',],
  23. ])->control([
  24. [
  25. 'value' => '1',
  26. 'rule' => [
  27. Elm::number('svip_number', '有效期(天):')->required()->min(0),
  28. ]
  29. ],
  30. [
  31. 'value' =>'2',
  32. 'rule' => [
  33. Elm::number('svip_number', '有效期(天):')->required()->min(0),
  34. ]
  35. ],
  36. [
  37. 'value' => '3',
  38. 'rule' => [
  39. Elm::input('svip_number1', '有效期(天):','永久期')->disabled(true)->placeholder('请输入有效期'),
  40. Elm::input('svip_number', '有效期(天):','永久期')->hiddenStatus(true)->placeholder('请输入有效期'),
  41. ]
  42. ],
  43. ])->appendRule('suffix', [
  44. 'type' => 'div',
  45. 'style' => ['color' => '#999999'],
  46. 'domProps' => [
  47. 'innerHTML' =>'试用期每个用户只能购买一次,购买过付费会员之后将不在展示,不可购买',
  48. ]
  49. ]),
  50. Elm::number('cost_price', '原价:')->required(),
  51. Elm::number('price', '优惠价:')->required(),
  52. Elm::number('sort', '排序:'),
  53. Elm::switches('status', '是否显示:')->activeValue(1)->inactiveValue(0)->inactiveText('关')->activeText('开'),
  54. ];
  55. $form->setRule($rules);
  56. $form->setTitle('demo');
  57. $rule = $form->formRule();
  58. $action = $form->getAction();
  59. $method = $form->getMethod();
  60. $title = $form->getTitle();
  61. $view = $form->view();
  62. var_dump(compact('rule', 'action', 'method', 'title', 'view', 'api'));