Form 表单那些坑

1.表单提交会刷新(跳转),即使button按钮没有定义type

<body>
    <form action="" target="targetIfr">
        <iframe name="targetIfr" style="display:none"></iframe>
        <input type="text" />
        <button>确定</button>
    </form>
</body>

//
target="targetIfr" 不会刷新
target="blankFrame"  新开页面

2.去除input 框记忆联想功能

   可在以上的基础上添加form,备注 complete:‘off’  去告诉浏览器关闭该功能

在uni-app表单校验过程中,常见问题和主要有以下方面: ### 表单校验规则不生效 在使用uni-ui组件进行表单校验时,若规则不生效,可能是因为`uni-forms-item`的`name`属性和表单`v-model`的属性值未保持一致。例如代码`<uni-forms ref="drawerform" label-width="80" :rules="rules" class="drawer-form" :model="drawerData">`,需要确保`uni-forms-item`的`name`和`drawerData`里的属性对应,否则无法正确应用校验规则。如规则`rules`里定义了`name`的校验规则,但`uni-forms-item`的`name`属性与`drawerData`中对应属性名不匹配,校验规则就不会生效 [^1]。 ### 初始值类型影响校验结果 在实现动态增减的单价输入表单(基于uv-form组件)时,若`<uv-input>`的`v-model`绑定初始值为数字类型,`required`规则会失效,且数字类型与字符串类型校验表现不一致。这可能会导致在初始值为数字时,即使字段为空也不会触发`required`校验 [^2]。 ### 校验规则定义错误 在校验规则定义时,可能会出现规则语法错误、属性名错误等问题。如在定义规则时,规则的属性名写错或者规则的格式不符合要求,都会使校验无法正常进行。例如在定义`rules`时,规则的`required`、`minLength`等属性使用错误,就不能达到预期的校验效果 [^1]。 ### 动态生成规则问题 若采用计算属性动态生成规则,可能会因为计算属性的依赖或者计算逻辑错误,导致生成的规则不符合预期,进而影响表单校验 [^2]。 ```vue <template> <uni-forms ref="formRef" :rules="rules" :model="formData"> <uni-forms-item name="name"> <uni-input v-model="formData.name"></uni-input> </uni-forms-item> </uni-forms> </template> <script setup> import { ref } from 'vue'; const formRef = ref(null); const formData = ref({ name: '' }); const rules = ref({ name: { rules: [ { required: true, errorMessage: '请输入名称', trigger: ['blur', 'change'] }, { minLength: 2, errorMessage: '名称至少两个字符' } ], label: '名称' } }); </script> ```
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值