微信小程序表单验证错误提示效果
小程序开发中,表单验证是必不可少的一部分,为了提高用户的交互体验,在表单验证这一块需要给予用户更加友好的提示,以便用户快速发现并纠正错误。本文将介绍一些小程序表单验证时的错误提示效果。
1. 必填项验证
在表单中,必填项是非常常见的一个需求,当必填项没有填写或者填写格式不正确时,需要立即给用户提供明显的提示,并将用户的光标定位到错误的输入框中,方便用户快速纠正。
以输入用户名为例,如下代码实现了必填项验证的功能,并在验证不通过时给出错误提示。
// 在表单提交时验证
submitForm: function(e) {
if (!e.detail.value.username) {
wx.showToast({
title: '用户名不能为空',
icon: 'none'
})
return
}
// ...其他表单验证逻辑
}
以上代码中,我们使用了 wx.showToast() 函数来显示错误提示,同时使用了 icon 参数来定义提示图标。通过以上代码,可以实现输入框为空时,提示“用户名不能为空”。
除了在表单提交时进行验证,我们还可以在输入框blur时进行验证,及时提示用户:
// 输入框失去焦点触发事件
inputBlur: function(e) {
var value = e.detail.value
if (!value) {
wx.showToast({
title: '用户名不能为空',
icon: 'none'
})
}
}
以上代码中,我们监听了输入框的 blur 事件,当输入框失去焦点时,进行必填项验证。
2. 自定义验证规则
除了必填项验证外,还有一些自定义的验证规则,比如验证手机号码格式是否正确、验证邮件地址是否正确等等。
在实现自定义验证规则时,我们通常需要使用正则表达式进行匹配,判断是否符合要求,如果验证不通过,则需要及时给出友好的错误提示。
以验证手机号码作为示例,如下代码实现了手机号码验证的功能:
// 手机号码验证
var phoneReg = /^1[34578]\d{9}$/
if (!phoneReg.test(value)) {
wx.showToast({
title: '手机号码格式不正确',
icon: 'none'
})
}
以上代码中,我们首先定义了手机号码的正则表达式,然后在表单提交时进行验证,并提示用户。
3. passwrod输入框显示隐藏
在 password 类型的输入框中,我们通常需要提供显示/隐藏密码的功能,以方便用户查看密码是否输入正确。在点击显示/隐藏密码的按钮时,需要修改输入框的 type 属性,并修改按钮的图标。
以下是代码示例:
// 点击切换密码可见状态
togglePassword: function() {
var that = this
that.setData({
showPassword: !that.data.showPassword,
passwordType: that.data.passwordType === 'password' ? 'text' : 'password',
passwordIcon: that.data.passwordIcon === 'closed-eye' ? 'eye' : 'closed-eye'
})
},
以上代码中,我们在 data 中定义了 showPassword(控制密码是否显示)、passwordType(控制 password 类型输入框的 type 属性)以及 passwordIcon(控制图标)三个变量,并在点击按钮时修改这三个变量的值。
4. 其他提示效果
除了必填项验证和自定义验证规则外,还有一些其他的小技巧可以提高用户的交互体验。比如,在输入框中增加清空内容的按钮:
// 点击清空按钮清空内容
clearInput: function() {
this.setData({
inputVal: ''
})
}
又比如,在输入框中增加自动完成的功能:
// 输入搜索关键词自动搜索
inputBindInput: function(e) {
var that = this
var keyword = e.detail.value
that.setData({
keyword: keyword
})
if (keyword.trim() !== '') {
that.search(keyword)
}
},
以上代码中,我们监听输入框的 input 事件,并在每次输入时触发搜索函数进行搜索。
总结
表单验证是小程序中必不可少的一部分,合理的验证方式及友好的提示效果可以提高用户的交互体验。本文介绍了一些常用的表单验证方式及其实现方式,并对如何给用户提供良好的错误提示进行了说明。希望小程序开发者们在使用表单验证时多多参考本文,提高用户的交互体验。