Vue 表单验证、数据验证
vue
vuejs/vue: 是一个用于构建用户界面的 JavaScript 框架,具有简洁的语法和丰富的组件库,可以用于开发单页面应用程序和多页面应用程序。
项目地址:https://gitcode.com/gh_mirrors/vu/vue
免费下载资源
·
graceUI js 模块
graceUI 官网
http://grace.hcoder.net 首页视频教程第一节可观看组件演示 (:
使用说明
1 将 graceChecker.js 部署到您的项目目录,如 :
|_ 项目根目录
|_ common
|_ graceChecker.js
2 引用 graceChecker
var graceChecker = require("../../../common/graceChecker.js");
验证步骤
1、定义验证规则
var rule = [
{name:"数据键名称", checkType: "验证类型", checkRule: "验证规则", errorMsg: "错误提示信息" },
......
];
如
var rule = [
{ name: "nickname", checkType: "string", checkRule: "1,3", errorMsg: "姓名应为1-3个字符" },
{ name: "gender", checkType: "in", checkRule: "男,女", errorMsg: "请选择性别" },
{ name: "bd", checkType: "notsame", checkRule: "请选择", errorMsg: "请选择生日" },
{ name: "aihao", checkType: "notnull", checkRule: "", errorMsg: "请选择爱好" },
{ name: "email", checkType: "email", checkRule: "", errorMsg: "请填写您的邮箱" }
];
验证类型及规则
1. string
功能 : 字符串及长度检查
规则 : 最小长度,最大长度 如 1,3 或 2, 2,代表只检查最短
2. int
功能 : 整数及长度检查
规则 : 最小长度,最大长度 如 1,3
3. between
功能 : 数值区间检查
规则 : 最小值,最大值 如 1,3 或 2.5,1000
4. betweenD
功能 : 数值区间检查【整数】
规则 : 最小值,最大值 如 1,3 或 2,1000
5. same
功能 : 等值检查
规则 : 对应的值
6. notsame
功能 : 不等值检查
规则 : 对应的值
7. email
功能 : 邮箱检查
规则 : 无需设置
8. phoneno
功能 : 11位手机号检查
规则 : 无需设置
9. zipcode
功能 : 6位邮编检查
规则 : 无需设置
10. reg
功能 : 正则表达式检查
规则 : 正则表达式内容 如 "^[0-9]{1,2}$"
11. in
功能 : 包含某个字符串的检查
规则 : 字符串集,如:"北京,上海"
12. notnull
功能 : 不为空检查【null 或者 空数组】
规则 : 无需设置
演示代码
<template>
<view>
<page-head :title="title"></page-head>
<view class="uni-padding-wrap">
<form @submit="formSubmit" @reset="formReset">
<view>
<view class="uni-title">姓名</view>
<view class="uni-list">
<view class="uni-list-cell">
<input class="uni-input" name="nickname" placeholder="请填写您的昵称" />
</view>
</view>
</view>
<view>
<view class="uni-title">性别</view>
<radio-group class="uni-flex" name="gender">
<label>
<radio value="男" />男</label>
<label>
<radio value="女" />女</label>
</radio-group>
</view>
<view>
<view class="uni-title">爱好</view>
<checkbox-group class="uni-flex" name="loves">
<label>
<checkbox value="读书" />读书</label>
<label>
<checkbox value="写字" />写字</label>
</checkbox-group>
</view>
<view class="uni-btn-v uni-common-mt">
<button class="btn-submit" formType="submit" type="primary">Submit</button>
<button type="default" formType="reset">Reset</button>
</view>
</form>
</view>
</view>
</template>
//来自 graceUI 的表单验证, 使用说明见手册 http://grace.hcoder.net/doc/info/73-3.html
var graceChecker = require("../../../common/graceChecker.js");
export default {
data() {
return {
title: '表单验证',
}
},
methods: {
formSubmit: function (e) {
//将下列代码加入到对应的检查位置
//定义表单规则
var rule = [
{name:"nickname", checkType : "string", checkRule:"1,3", errorMsg:"姓名应为1-3个字符"},
{name:"gender", checkType : "in", checkRule:"男,女", errorMsg:"请选择性别"},
{name:"loves", checkType : "notnull", checkRule:"", errorMsg:"请选择爱好"}
];
//进行表单检查
var formData = e.detail.value;
var checkRes = graceChecker.check(formData, rule);
if(checkRes){
uni.showToast({title:"验证通过!", icon:"none"});
}else{
uni.showToast({ title: graceChecker.error, icon: "none" });
}
},
formReset: function (e) {
console.log("清空数据")
this.chosen = ''
}
}
}
<style>
</style>
GitHub 加速计划 / vu / vue
207.54 K
33.66 K
下载
vuejs/vue: 是一个用于构建用户界面的 JavaScript 框架,具有简洁的语法和丰富的组件库,可以用于开发单页面应用程序和多页面应用程序。
最近提交(Master分支:2 个月前 )
73486cb5
* chore: fix link broken
Signed-off-by: snoppy <michaleli@foxmail.com>
* Update packages/template-compiler/README.md [skip ci]
---------
Signed-off-by: snoppy <michaleli@foxmail.com>
Co-authored-by: Eduardo San Martin Morote <posva@users.noreply.github.com> 4 个月前
e428d891
Updated Browser Compatibility reference. The previous currently returns HTTP 404. 5 个月前
更多推荐
已为社区贡献1条内容
所有评论(0)