收藏
回答

weui自带表单验证器 (validate)在更新数据以后不能验证?

在js文件中定义一个对象a为空,模版文件里面一个input的值调用了a的一个属性,此时input的值为空,无法通过验证,页面上一个按钮。按了以后给该input赋值,赋值以后input依然被验证为空,请问这是啥情况

回答关注问题邀请回答
收藏

4 个回答

  • October
    October
    2020-03-04

    有人能帮忙看看么~

    2020-03-04
    有用 2
    回复 1
    • 辉哥
      辉哥
      2020-03-28
      已经解决了!看上面我的回复
      2020-03-28
      回复
  • 辉哥
    辉哥
    2020-03-28

    WEUI自带表单验证器 (validate),针对表单中控件初始赋了值,校验却一直提示为空的解决办法! 后面有问题解决的代码片段。

    <mp-form id="form" rules="{{rules}}" models="{{formData}}">

    此表单中的的data-field 为 mobile的输入框,在js中设置了初始值 user_info

    <mp-cell prop="mobile" title="手机号" ext-class="" show-error><input bindinput="formInputChange" data-field="mobile" class="weui-input" placeholder="请输入手机号" number value="{{user_info}}"/></mp-cell>

    这样页面进入后,该输入框里面会显示user_info 的赋值。但该表单进行提交校验时,校验器依然无法获取此处的赋值。 也就会一直报,手机号没有填写 这样的校验错误。

    解决这个问题的办法:

    js赋值的时候,这样写。

    this.setData({

    [`formData.mobile`]:'18611688767'

    })

    数组 [] 里面用英文单引号``包含 ”表单对象“.”控件的data-field“

    本例子可以tapDialogButton(e) 方法中赋值

    也可以在页面初始化中赋值

    这样来操作,就可以解决上面的问题。

    这是代码片段,点击可以直接导入微信开发工具

    https://developers.weixin.qq.com/s/ASsRTbmZ74gW


    补充一点,如果是Component页面的话,在lifetimes中的赋值只能卸载 ready中。之前试过在attached中赋值,页面会报错。正如注释写的,可以渲染节点,但无法操作节点,也就是无法进行赋值操作。

    2020-03-28
    有用 1
    回复
  • 赅
    2020-03-15

    同上,input动态赋值后怎么触发change事件或让规则验证通过?

    2020-03-15
    有用
    回复 7
    • October
      October
      2020-03-15
      我已经解决了,原来他验证的是定义的那个formData数组,你动态赋值以后,更新下这个数组就行了
      2020-03-15
      1
      回复
    • 赅
      2020-03-15回复October
      谢谢!你好,我也给这个赋值了的, 
                 this.data.formData['number'] = res.data[0].number 。还是不行。你赋值代码能发我看看吗?
      2020-03-15
      回复
    • October
      October
      2020-03-15回复
      用setData来赋值
      2020-03-15
      回复
    • 赅
      2020-03-15回复October
      解决了,谢谢!学了小程序没几天。也是奇葩,这个formData取值和赋值写法还不一样,刚开始也用setData参照[`formData.${field}`]这个来赋值,总是报错。我用VC做编程的,不习惯这种语法。
      2020-03-15
      1
      回复
    • October
      October
      2020-03-15
      我也是,搞一个上传图片已经搞了一周了,啥都不懂,哈哈
      2020-03-15
      回复
    查看更多(2)
  • 是小白啊
    是小白啊
    2020-03-04

    麻烦提供能复现问题的代码片段(https://developers.weixin.qq.com/miniprogram/dev/devtools/minicode.html

    2020-03-04
    有用
    回复 3
    • October
      October
      2020-03-04
      https://developers.weixin.qq.com/s/mRHpGAmR7tfn
      2020-03-04
      回复
    • October
      October
      2020-03-04
      点击同意以后,页面上有了电话,但是验证器通不过,手动删除重新输入下就行
      2020-03-04
      回复
    • October
      October
      2020-03-04
      老铁,还在么,快驾崩了
      2020-03-04
      回复
登录 后发表内容
问题标签