add-test.vue 2.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485
  1. <template>
  2. <view>
  3. <view class="uni-padding-wrap uni-common-mt">
  4. <form @submit="formSubmit" @reset="formReset">
  5. <view class="uni-form-item uni-column">
  6. <view class="title">姓名</view>
  7. <input class="uni-input" name="nickname" placeholder="请输入姓名" />
  8. </view>
  9. <view class="uni-form-item uni-column">
  10. <view class="title">性别</view>
  11. <radio-group name="gender">
  12. <label>
  13. <radio value="男" /><text>男</text>
  14. </label>
  15. <label>
  16. <radio value="女" /><text>女</text>
  17. </label>
  18. </radio-group>
  19. </view>
  20. <view class="uni-form-item uni-column">
  21. <view class="title">爱好</view>
  22. <checkbox-group name="loves">
  23. <label>
  24. <checkbox value="读书" /><text>读书</text>
  25. </label>
  26. <label>
  27. <checkbox value="写字" /><text>写字</text>
  28. </label>
  29. </checkbox-group>
  30. </view>
  31. <view class="uni-form-item uni-column">
  32. <view class="title">年龄</view>
  33. <slider value="20" name="age" show-value></slider>
  34. </view>
  35. <view class="uni-form-item uni-column">
  36. <view class="title">保留选项</view>
  37. <view>
  38. <switch name="switch" />
  39. </view>
  40. </view>
  41. <view class="uni-btn-v">
  42. <button form-type="submit">Submit</button>
  43. <button type="default" form-type="reset">Reset</button>
  44. </view>
  45. </form>
  46. </view>
  47. </view>
  48. </template>
  49. <script>
  50. var graceChecker = require("../../common/graceChecker.js");
  51. export default {
  52. data() {
  53. return {
  54. }
  55. },
  56. methods: {
  57. formSubmit: function(e) {
  58. console.log('form发生了submit事件,携带数据为:' + JSON.stringify(e.detail.value))
  59. //定义表单规则
  60. var rule = [
  61. {name:"nickname", checkType : "string", checkRule:"1,3", errorMsg:"姓名不能为空"},
  62. {name:"gender", checkType : "in", checkRule:"男,女", errorMsg:"请选择性别"},
  63. {name:"loves", checkType : "notnull", checkRule:"", errorMsg:"请选择爱好"}
  64. ];
  65. //进行表单检查
  66. var formData = e.detail.value;
  67. var checkRes = graceChecker.check(formData, rule);
  68. if(checkRes){
  69. uni.showToast({title:"验证通过!", icon:"none"});
  70. }else{
  71. uni.showToast({ title: graceChecker.error, icon: "none" });
  72. }
  73. },
  74. formReset: function(e) {
  75. console.log('清空数据')
  76. }
  77. }
  78. }
  79. </script>
  80. <style>
  81. .uni-form-item .title {
  82. padding: 20rpx 0;
  83. }
  84. </style>