小程序是现在用户比较喜欢的一种应用,作为开发者也需要一种高效的开发方式。小程序开发工具能够让我们快速的搭建小程序并提供多种组件以及常用的功能和设置,这让我们能够更加方便的实现开发。
其中比较重要的一项是表单设置,表单是小程序中比较常用的功能之一,经常需要根据需求来设置表单控件,并对表单数据进行提交和验证。下面我们就来详细介绍一下小程序开发工具里的表单设置。
### 常用的表单组件
小程序开发中常用的表单组件有多种,包括输入框(input)、多行文本输入框(textarea)、单选框(radio)、复选框(checkbox)、下拉框(picker)等等,具体的使用和设置可以通过小程序开发者文档来查阅,本篇不再详细介绍。
### 表单数据的获取和提交
在小程序中,表单组件的值通常通过setData()方法去获取和设置,我们可以在data中定义一个变量存放表单数据,然后在表单提交的时候把变量的值赋给提交按钮,以达到提交表单数据的目的。
代码示例:
```javascript
Page({
data: {
inputVal: '',
checkboxVal: '',
radioVal: '',
pickerVal: '',
textareaVal: ''
},
getInputVal(e) {
this.setData({
inputVal: e.detail.value //获取input框输入的值
})
},
getCheckboxVal(e) {
this.setData({
checkboxVal: e.detail.value //获取复选框选中的值
})
},
getRadioVal(e) {
this.setData({
radioVal: e.detail.value //获取单选框选中的值
})
},
getPickerVal(e) {
this.setData({
pickerVal: e.detail.value //获取下拉框选中的值
})
},
getTextareaVal(e) {
this.setData({
textareaVal: e.detail.value //获取多行文本框输入的值
})
},
handleSubmit() {
const {
inputVal,
checkboxVal,
radioVal,
pickerVal,
textareaVal
} = this.data
//TODO:表单数据提交操作,可以使用wx.request()方法
...
}
})
```
### 表单验证
表单验证是我们在做业务逻辑时最为关注的地方,验证不合格的数据需要重新提交,或者提示用户进行修改。常用的表单验证方法有下面几种:
#### 非空验证
验证填写的表单内容非空后再进行提交,可以统一进行一个非空的条件判断。
```javascript
handleSubmit() {
const {
inputVal,
textareaVal
} = this.data
if(inputVal && textareaVal) {
//TODO:表单数据提交操作
} else {
wx.showToast({
title: '姓名和简介不能为空',
icon: 'none'
})
}
}
```
#### 数据格式验证
数据格式验证通常用于针对特定的数据类型进行判断或验证,在小程序里面可以使用正则表达式进行验证。
```javascript
handleSubmit() {
const {
inputVal
} = this.data
if(inputVal && /^1[3|4|5|7|8][0-9]\d{8}$/.test(inputVal)) {
//TODO:表单数据提交操作
} else {
wx.showToast({
title: '请输入正确的手机号码',
icon: 'none'
})
}
}
```
#### 提交验证
提交验证通常是指对整个表单数据进行一个总体的验证,可以通过设置一个状态值,在提交之前判断该状态是否为真。
```javascript
//设置提交状态
handleSubmitStatus() {
const {
inputVal,
textareaVal
} = this.data
if(inputVal && textareaVal) {
this.setData({
isSubmit: true
})
} else {
wx.showToast({
title: '姓名和简介不能为空',
icon: 'none'
})
}
},
//提交表单数据
handleSubmit() {
if(this.data.isSubmit) {
//TODO:表单数据提交操作
}
}
```
### 总结
表单设置是小程序开发中比较常用的功能,我们需要对常用的表单组件有一定的了解,同时根据业务需求去设置相关的表单数据和事件处理函数。在表单处理时,我们还需要考虑到表单验证,以确保数据的正确提交。