当前位置:首页 > uni-app

uniapp用什么校验

2026-02-06 08:01:54uni-app

uniapp 常用校验方法

在 uniapp 中,数据校验可以通过多种方式实现,以下是常见的校验方法:

表单校验
使用 uni-forms 组件内置的校验规则,支持必填、长度、正则等验证:

<uni-forms :rules="rules">
  <uni-forms-item name="username" label="用户名">
    <input v-model="formData.username" />
  </uni-forms-item>
</uni-forms>

rules: {
  username: {
    rules: [
      { required: true, errorMessage: '用户名必填' },
      { pattern: /^[a-zA-Z0-9]{3,10}$/, errorMessage: '3-10位字母或数字' }
    ]
  }
}

手动校验
通过自定义函数进行校验,适用于复杂逻辑:

validateForm() {
  if (!this.formData.email) {
    uni.showToast({ title: '邮箱不能为空', icon: 'none' });
    return false;
  }
  if (!/^\w+@\w+\.\w+$/.test(this.formData.email)) {
    uni.showToast({ title: '邮箱格式错误', icon: 'none' });
    return false;
  }
  return true;
}

第三方校验库
集成 vee-validateasync-validator 等库实现高级校验:

// 使用 async-validator
import Schema from 'async-validator';
const descriptor = {
  phone: { type: 'string', pattern: /^1[3-9]\d{9}$/, message: '手机号格式错误' }
};
const validator = new Schema(descriptor);
validator.validate({ phone: '13800138000' }, (errors) => {
  if (errors) console.error(errors);
});

服务端校验
提交数据到服务器后通过接口返回错误信息:

uni.request({
  url: '/api/submit',
  method: 'POST',
  data: this.formData,
  success: (res) => {
    if (res.data.code === 400) {
      uni.showToast({ title: res.data.message, icon: 'none' });
    }
  }
});

校验场景建议

  • 简单表单:优先使用 uni-forms 内置校验
  • 复杂逻辑:结合手动校验或第三方库
  • 安全性要求高的数据(如密码):必须增加服务端二次校验

注意事项

  1. 前端校验不可替代服务端校验,需两者结合
  2. 移动端校验失败时应通过 uni.showToast 等轻量提示
  3. 正则表达式需根据实际业务调整,如身份证、银行卡号等专用规则

uniapp用什么校验

标签: uniapp
分享给朋友:

相关文章

uniapp和vue有什么区别

uniapp和vue有什么区别

uniapp和vue的区别 1. 定位与用途 Vue:一个渐进式JavaScript框架,专注于构建用户界面,适用于开发单页应用(SPA)或复杂前端项目。 UniApp:基于Vue.js的…

uniapp应用市场

uniapp应用市场

uniapp应用市场概述 Uniapp作为跨平台开发框架,支持将代码编译到iOS、Android、Web及各类小程序平台。其应用市场(插件市场)是开发者获取扩展插件、模板、组件的重要资源库,涵盖UI组…

uniapp组件

uniapp组件

uniapp组件基础概念 uniapp的组件系统基于Vue.js,支持跨平台开发(H5、小程序、App等)。组件分为内置基础组件(如<view>、<button>)和自定义组件…

uniapp设置背景

uniapp设置背景

设置全局背景样式 在App.vue文件中添加全局样式,使用page选择器设置页面背景。这种方式会影响所有页面背景。 <style> page { background-color:…

uniapp隐藏右侧滚动条

uniapp隐藏右侧滚动条

隐藏右侧滚动条的方法 在UniApp中隐藏右侧滚动条可以通过CSS样式实现,适用于H5、小程序等平台。以下是几种常见的方法: 全局样式设置 在App.vue的全局样式中添加以下CSS代码,适用于所…

uniapp实现标题栏渐变

uniapp实现标题栏渐变

实现标题栏渐变的方法 在UniApp中实现标题栏渐变效果,可以通过修改页面的导航栏样式或使用自定义导航栏来实现。以下是几种常见的方法: 方法一:使用原生导航栏渐变 通过修改pages.json…