使用validation-provider,确认密码的检验应该如何写

使用validation-provider,确认密码的检验应该如何写

学了本节的validation-provider检验的,其他地方都能写,唯独这个注册的确认密码这一项实在不会写了,在网上找的方案如下:

密码的的部分加了一个

vid="password"

确认密码的检验,就直接写成了

rules="confirmed:password"
    <div class="layui-form-item">
                <validation-provider name="password" rules="required|min:6" v-slot="{errors}" vid="password">
                <div class="layui-row">
                  <label class="layui-form-label">密码</label>
                  <div class="layui-input-inline">
                    <input type="password"  name="password" v-model.trim="password"
                    placeholder="请输入密码" autocomplete="off" class="layui-input">
                  </div>
                  <div class="layui-form-mid layui-word-aux">6到16个字符</div>
                </div>
                <div class="error smsCode-error">{{errors[0]}}</div>
              </validation-provider>
              </div>
              <div class="layui-form-item">
                <validation-provider name="repass" rules="confirmed:password" v-slot="{errors}">
                <label  class="layui-form-label">确认密码</label>
                <div class="layui-input-inline">
                  <input type="password"  name="repass"  autocomplete="off" class="layui-input">
                </div>
                <div class="error layui-form-mid">{{errors[0]}}</div>
                </validation-provider>
              </div>

页面中却还是不起效果 不知道是哪里出错了,希望老师能指点一下

正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

1回答
提问者 慕雪晨 2023-08-11 15:49:53

找到问题所在了,正确的写法是这样的

<ValidationObserver>
              <div class="layui-form-item">
                <validation-provider name="password" rules="required|min:6" v-slot="{errors}" vid="passwordInfo">
                <div class="layui-row">
                  <label class="layui-form-label">密码</label>
                  <div class="layui-input-inline">
                    <input type="password"  name="password" v-model.trim="passwordInfo"
                    placeholder="请输入密码" autocomplete="off" class="layui-input">
                  </div>
                  <div class="layui-form-mid layui-word-aux">6到16个字符</div>
                </div>
                <div class="error smsCode-error">{{errors[0]}}</div>
              </validation-provider>
              </div>
              <div class="layui-form-item">
                <validation-provider name="repass" rules="confirmed:passwordInfo" v-slot="{errors}">
                <label  class="layui-form-label">确认密码</label>
                <div class="layui-input-inline">
                  <input type="password"  name="repass" v-model="repass" autocomplete="off" class="layui-input">
                </div>
                <div class="error layui-form-mid">{{errors[0]}}</div>
                </validation-provider>
              </div>
            </ValidationObserver>
import { ValidationProvider, ValidationObserver } from 'vee-validate'

然后再注册 ValidationObserver,I18n.js里加一个confirmed的定义

confirmed: '两次密码输入不一致'

就可以了


  • Brian #1

    好的~~加油

    2023-08-14 23:25:48
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师