create.js 2.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118
  1. let App = getApp();
  2. Page({
  3. /**
  4. * 页面的初始数据
  5. */
  6. data: {
  7. disabled: false,
  8. nav_select: false, // 快捷导航
  9. name: '',
  10. region: '',
  11. phone: '',
  12. detail: '',
  13. error: '',
  14. },
  15. /**
  16. * 生命周期函数--监听页面加载
  17. */
  18. onLoad: function(options) {
  19. },
  20. /**
  21. * 表单提交
  22. */
  23. saveData: function(e) {
  24. let _this = this,
  25. values = e.detail.value
  26. values.region = this.data.region;
  27. // 表单验证
  28. if (!_this.validation(values)) {
  29. App.showError(_this.data.error);
  30. return false;
  31. }
  32. // 按钮禁用
  33. _this.setData({
  34. disabled: true
  35. });
  36. // 提交到后端
  37. App._post_form('address/add', values, function(result) {
  38. App.showSuccess(result.msg, function() {
  39. wx.navigateBack();
  40. });
  41. }, false, function() {
  42. // 解除禁用
  43. _this.setData({
  44. disabled: false
  45. });
  46. });
  47. },
  48. /**
  49. * 表单验证
  50. */
  51. validation: function(values) {
  52. if (values.name === '') {
  53. this.data.error = '收件人不能为空';
  54. return false;
  55. }
  56. if (values.phone.length < 1) {
  57. this.data.error = '手机号不能为空';
  58. return false;
  59. }
  60. // if (values.phone.length !== 11) {
  61. // this.data.error = '手机号长度有误';
  62. // return false;
  63. // }
  64. let reg = /^((0\d{2,3}-\d{7,8})|(1[3456789]\d{9}))$/;
  65. if (!reg.test(values.phone)) {
  66. this.data.error = '手机号不符合要求';
  67. return false;
  68. }
  69. if (!this.data.region) {
  70. this.data.error = '省市区不能空';
  71. return false;
  72. }
  73. if (values.detail === '') {
  74. this.data.error = '详细地址不能为空';
  75. return false;
  76. }
  77. return true;
  78. },
  79. /**
  80. * 修改地区
  81. */
  82. bindRegionChange: function(e) {
  83. this.setData({
  84. region: e.detail.value
  85. })
  86. },
  87. /**
  88. * 获取微信地址
  89. */
  90. chooseAddress: function() {
  91. let _this = this;
  92. wx.chooseAddress({
  93. success: function(res) {
  94. _this.setData({
  95. name: res.userName,
  96. phone: res.telNumber,
  97. region: [res.provinceName, res.cityName, res.countyName],
  98. detail: res.detailInfo
  99. });
  100. }
  101. })
  102. },
  103. })