小程序---验证input输入不能为空

WXML:

    <view class="regist">
注 册 页 面
</view>
<form bindsubmit='formSubmit'>
<text class="ntc" space="emsp" >昵  称:</text>
<input placeholder="请输入昵称" class="nic" name="nickname"></input>

<text class="npw" space="emsp">密  码:</text>
<input password="true" placeholder="请输入密码" class="pw" name="pwd"></input>
<text class="repw">重复密码:</text>
<input password='true' placeholder="再次输入密码" class="repw" name="repwd"></input>
<button form-type='submit' type='default' size="mini" class="submit">提交</button>
<button form-type='reset' type="default" size="mini" class="reset">重置</button>
</form>

JS

Page({

  /**
   * 页面的初始数据
   */
  data: {

  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function (options) {

  },
  formSubmit: function (e) {
    //获取数据,简化代码
    var nickname = e.detail.value.nickname;
    var pwd = e.detail.value.pwd;
    var repwd = e.detail.value.repwd;
    //总体验证注册表单
    // if(nickname=='' || pwd=='' || repwd==''){
    //   wx.showToast({
    //     title:'注册项有空',
    //     icon:"none"
    //   })
    //   return;
    // }
    //验证顺序 昵称-》密码-》重复密码 
    if (nickname == '') {
      wx.showToast({
        title: '昵称不能为空',
        icon: "none"
      })
      return;
    } else if (pwd == '') {
      wx.showToast({
        title: '密码不能为空',
        icon: "none"
      })
      return;
    } else if (repwd == '') {
      wx.showToast({
        title: '重复密码不能为空',
        icon: "none"
      })
      return;
    }
    console.log(2222);
    //验证nickname数据是否为空
    //console.log(nickname);
    //拼接json对象
    var npr = { 'nickname': nickname, 'pwd': pwd, 'repwd': repwd };
    // wx.setStorageSync(nickname, npr);
    //注册时,移除空key,不给生成空key的机会
    // wx.removeStorageSync("");
    // console.log(wx.getStorageSync(""));
    // console.log(wx.getStorageInfoSync().keys);
  }
})

完整例子:

HTML

<form bindsubmit="formSubmit">
<view class="diy-biaodan{{itemData.data.margintop == 1 ? ' mt5 ': ''}}{{itemData.data.marginbottom == 1 ? ' mb5 ' : ''}}{{itemData.data.boxshadow == 1 ? ' diy-ty ' : ''}}{{itemData.data.marginleft == 1 ? 'lr' : ''}}"
style="{{'background:' + itemData.data.background+';'}}{{'border-radius:' + itemData.data.borderradius+'px;'}}">
<view class="diy-title" style="{{'color:' + itemData.data.color+';'}}">
在线留言
</view> 
<input placeholder="请输入留言标题" type="text" name="liu_yan" maxlength="8" value="{{infoValue}}"></input>
<input placeholder="请输入您的姓名" type="text" name="name" maxlength="4" value="{{infoValue}}"></input>
<input placeholder="请输入电话或手机" type="text" name="phone" maxlength="11" value="{{infoValue}}"></input>
<textarea placeholder="请输入留言(最多可输入200字)" name="area" bindinput="bdmessage" v-model="message" maxlength="200" value="{{infoValue}}"></textarea>
<text>{{message.length}}/200</text>
<button form-type="submit"  style="{{'background:'+itemData.data.btnbackground + ';'}}{{'color:' + itemData.data.btncolor + ';'}}">提交</button>
</view> 
</form> 

JS
const app = getApp(), urlHeader = app.globalData.urlHeader;
Component({
        properties: {
            data: Object
        },

        data: {
            message:'',
            itemData: {}
        },

        ready: function () {
            this.setData({
                itemData: this.properties.data
            })
        },
        methods:{
            //绑定area输入事件(实时监听 留言板内容的字数 )
            bdmessage: function(e){
                this.setData({
                    message: e.detail.value
                })
            },
    formSubmit: function (e) { 
             
             var liu_yan = e.detail.value.liu_yan;
             var nickName =  e.detail.value.name;
             var dianhua = e.detail.value.phone;
             var area = e.detail.value.area;
             if (liu_yan == '') {
                qq.showToast({
                    title: '留言标题不能为空',
                    icon: "none"
                })
                return;
            }else if (nickName == '') {
                qq.showToast({
                    title: '姓名不能为空',
                    icon: "none"
                })
                return;
            }else if (dianhua == '') {
                qq.showToast({
                    title: '电话或手机号不能为空',
                    icon: "none"
                })
                return;
            }else if (area == '') {
                qq.showToast({
                    title: '留言内容不能为空',
                    icon: "none"
                })
                return;
            }
            
            qq.showToast({
                title: '提交中',
                icon: 'loading',
                duration: 2000
            })
     
        this.setData({
             value: e.detail.value
        })
        qq.request({
            url: '',
            methods: "post",
            data: {
                type: 'qq',
                appid: app.globalData.appid,
                openid: app.globalData.oppenid,
                pid:0,
                model:'liuyan',
                title: e.detail.value.title,
                name: e.detail.value.name,
                phone: e.detail.value.phone,
                message: e.detail.value.area,
                source:'qq'
            },
            success: (res) => {
                qq.showToast({
                    title: '提交成功',
                    icon: 'success',
                    duration: 2000
                })
                this.setData({
                    infoValue:'' //提交完成时,留言板内容为空
                })
            }
        })
    }


}

})

另外链接:https://www.jb51.net/article/144067.htm

  • 4
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在UniApp中开发微信小程序,可以使用uni-forms-item和uni-easyinput组件来实现表单界面以及表单验证。 首先,需要在页面中引入uni-forms-item和uni-easyinput组件。可以在页面的json文件中添加以下代码: ```json { "usingComponents": { "uni-forms-item": "@dcloudio/uni-ui/lib/uni-forms-item/uni-forms-item", "uni-easyinput": "@dcloudio/uni-ui/lib/uni-easyinput/uni-easyinput" } } ``` 然后,在页面的wxml文件中使用uni-forms-item和uni-easyinput组件来构建表单界面。例如,创建一个登录表单: ```html <uni-forms-item label="用户名"> <uni-easyinput type="text" name="username" placeholder="请输入用户名" v-model="formData.username" :rules="[ { required: true, message: '用户名不能为空' }, { min: 4, max: 10, message: '用户名长度为4-10个字符' } ]" ></uni-easyinput> </uni-forms-item> <uni-forms-item label="密码"> <uni-easyinput type="password" name="password" placeholder="请输入密码" v-model="formData.password" :rules="[ { required: true, message: '密码不能为空' }, { min: 6, max: 20, message: '密码长度为6-20个字符' } ]" ></uni-easyinput> </uni-forms-item> <button type="primary" @click="submit">登录</button> ``` 在上述代码中,uni-forms-item用于包裹uni-easyinput组件,并提供表单项的标签。uni-easyinput组件用于输入表单内容,并通过v-model绑定数据。同时,通过rules属性提供表单验证规则,可以设置必填、最小长度、最大长度等规则。 最后,在页面的js文件中,需要编写表单提交的逻辑和表单验证逻辑。例如: ```javascript export default { data() { return { formData: { username: '', password: '' } }; }, methods: { submit() { if (this.$refs.form.validate()) { // 表单验证通过,执行提交逻辑 // 可以在这里发送请求或其他操作 console.log('表单提交成功'); } else { // 表单验证不通过,提示错误信息 uni.showToast({ title: '请填写正确的表单信息', icon: 'none' }); } } } } ``` 在上述代码中,submit方法用于表单提交,通过this.$refs.form.validate()判断表单验证是否通过。如果验证通过,则执行提交逻辑;否则,提示错误信息。 这样,就可以实现uni-forms-item和uni-easyinput组件的表单界面以及表单验证功能。可以根据具体需求,添加更多的表单项和验证规则。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值