New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

async-validator-uniapp

Package Overview
Dependencies
Maintainers
1
Versions
6
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

async-validator-uniapp

a simgle tool for valid form

  • 1.0.1
  • Source
  • npm
  • Socket score

Version published
Weekly downloads
0
decreased by-100%
Maintainers
1
Weekly downloads
 
Created
Source

async-validator-uniapp

a simgle tool for valid form github

Usage

###安装

若项目之前未使用npm管理依赖(项目根目录下无package.json文件),先在项目根目录执行命令初始化npm工程:

npm init -y

在项目根目录执行命令安装npm包:

npm i async-validator-uniapp --save

使用

import package from 'async-validator-uniapp'

全局导入

    import xPlus from "async-validator-uniapp"
	xPlus.install(Vue);

API

xPlus.install
  • 第一个参数是Vue
  • 第二个参数是你要给你的标签添加的前缀,如果不使用默认是"x"
validate
  • this.$refs['form的ref'].validate
  • 验证整个form是否通过校验
validateField
  • this.$refs['form的ref'].validateField('对应表单的prop')
  • 校验当个表单

标签

  • x-form
  • x-input
  • x-checkbox-group
  • x-radio-group
  • x-picker
x-form
属性名类型默认值说明
rulesobject--必填,校验规则
modelobject--必填,表单数据
refObject--x-form组件的应用可以调用validateField和validate
x-input
属性名类型默认值说明
typestring--默认text,类型请插件uniapp文档
valstringNumber--
propstring--对应的校验规则,强烈推荐和改表单的绑定值得key保持一致
@inputFunction--同步数据到当前页面
x-checkbox-group
属性名类型默认值说明
valstringNumber--
propstring--对应的校验规则,强烈推荐和改表单的绑定值得key保持一致
@inputFunction--同步数据到当前页面
x-radio-group
属性名类型默认值说明
valstringNumber--
propstring--对应的校验规则,强烈推荐和改表单的绑定值得key保持一致
@inputFunction--同步数据到当前页面
x-picker
属性名类型默认值说明
valstringNumber--
propstring--对应的校验规则,强烈推荐和改表单的绑定值得key保持一致
@inputFunction--同步数据到当前页面

example

   <template>
   	<view>
   		<page-head :title="title"></page-head>
   		<view class="uni-padding-wrap uni-common-mt">
   			<x-form :rules="rules" :model="form" ref="ruleForm">
   				<view class="uni-form-item uni-column">
   					<view class="title">普通文字(改变的时候检测){{form.input}}</view>
   					<x-input type="text" :val="form.input" @input="form.input=$event" prop="input"></x-input>
   				</view>
   				<view class="uni-form-item uni-column">
   					<view class="title">普通文字(失去焦点的时候检测){{form.input2}}</view>
   					<x-input type="text" :val="form.input2" @input="form.input2=$event" prop="input2"></x-input>
   				</view>
   				<view class="uni-form-item uni-column">
   					<view class="title">时间选择:{{form.time}}</view>
   					<x-picker mode="time" start="09:00" end="06:00" :val="form.time" @input="form.time=$event" prop="time"></x-picker>
   				</view>
   				<view class="uni-form-item uni-column">
   					<view class="title">密码:{{form.password}}</view>
   					<x-input type="password" :val="form.password"  @input="form.password=$event" prop="password"></x-input>
   				</view>
   				<view class="uni-form-item uni-column">
   					<view class="title">数字{{form.number}}</view>
   					<x-input type="number" :val="form.number" @input="form.number=$event" prop="number"></x-input>
   				</view>
   				<view class="uni-form-item uni-column">
   					<view class="title">小数点数字{{form.digit}}</view>
   					<x-input type="digit" :val="form.digit" @input="form.digit=$event" prop="digit"></x-input>
   				</view>
   				<view class="uni-form-item uni-column">
   					<view class="title">身份证{{form.idcard}}</view>
   					<x-input type="idcard" :val="form.idcard" @input="form.idcard=$event" prop="idcard"></x-input>
   				</view>
   				<view class="uni-form-item uni-column">
   					<view class="title">radio{{form.radio}}</view>
   					<x-radio-group :val="form.radio" @input="form.radio=$event" prop="radio">
   						<label>
   							<radio value="1" :checked="form.radio===1?true:false" />选项一</label>
   						<label>
   							<radio value="2" :checked="form.radio===2?true:false" />选项二</label>
   					</x-radio-group>
   				</view>
   				<view class="uni-form-item uni-column">
   					<view class="title">checkbox</view>
   					<x-checkbox-group :val="form.checkbox" @input="form.checkbox=$event" prop="checkbox">
   						<label v-for="item in items" :key="item.value">
   							 <checkbox :value="item.name" :checked="form.checkbox.includes(item.name)" />{{item.value}}
   						</label>
   					</x-checkbox-group>
   					<button @tap="validInput('checkbox')">验证单个表单</button>
   				</view>
   				
   				<view class="uni-btn-v">
   					<button formType="submit">使用Submit</button>
   					<button @tap="customerSubmit">不使用Submit提交</button>
   					<button type="default" formType="reset">Reset</button>
   				</view>
   			</x-form>
   		</view>
   	</view>
   </template>
   <script>
   	export default {
   		data() {
   			return {
   				title: 'form',
   				pickerHidden: true,
   				chosen: '',
   				items: [{
   						name: 'USA',
   						value: '美国'
   					},
   					{
   						name: 'CHN',
   						value: '中国'
   					},
   					{
   						name: 'BRA',
   						value: '巴西'
   					},
   					{
   						name: 'JPN',
   						value: '日本'
   					},
   					{
   						name: 'ENG',
   						value: '英国'
   					},
   					{
   						name: 'TUR',
   						value: '法国'
   					}
   				],
   				form: {
   					input: "zz00",
   					input2:"zzyy",
   					passwordx: "123456",
   					number: "",
   					digit: "",
   					idcard: "",
   					checkbox: [],
   					radio: "",
   					time:""
   				},
   				rules: {
   					input: [{
   						required: true,
   						message: '请输入txt',
   						trigger: 'change'
   					}],
   					input2: [{
   						required: true,
   						message: '请输入input2',
   						trigger: 'blur'
   					}],
   					password: [{
   						required: true,
   						message: '请选择密码',
   						trigger: 'change'
   					}],
   					number: [{
   						required: true,
   						message: '请输入数字',
   						trigger: 'change'
   					}],
   					digit: [{
   						required: true,
   						message: '请输入小数点数字',
   						trigger: 'change'
   					}],
   					idcard: [{
   						required: true,
   						message: '请输入身份证',
   						trigger: 'change'
   					}],
   					checkbox: [{
   						type: 'array',
   						required: true,
   						message: '请选择checkbox',
   						trigger: 'change'
   					},
   					 {
   					 	type: 'array',
   					 	min:2,
   					 	message: '请选择至少2个checkbox',
   					 	trigger: 'change'
   					 },
   					],
   					radio: [{
   						required: true,
   						message: '请选择radio',
   						trigger: 'change'
   					}],
   					time: [{
   						required: true,
   						message: '请选择time',
   						trigger: 'change'
   					}],
   				}
   			}
   		},
   		methods: {
   			pickerConfirm: function(e) {
   				this.pickerHidden = true
   				this.chosen = e.target.value
   			},
   			pickerCancel: function(e) {
   				this.pickerHidden = true
   			},
   			pickerShow: function(e) {
   				this.pickerHidden = false
   			},
   			formSubmit: function(e) {
   				console.log('form发生了submit事件,携带数据为:' + JSON.stringify(e.detail.value))
   			},
   			formReset: function(e) {
   				console.log("清空数据")
   				this.chosen = ''
   			},
   			xchange() {
   				console.log("改变")
   			},
   			customerSubmit(){
   				 this.$refs['ruleForm'].validate((valid) => {
   				  if (valid) {
   					alert('submit!');
   				  } else {
   					console.log('error submit!!');
   					return false;
   				  }
   				});
   			},
   			validInput(k){
   				this.$refs['ruleForm'].validateField(k)
   
   			}
   		}
   	}
   </script>
   
   <style>
   	.title {
   		padding: 10px 0 !important;
   	}
   </style>
   

Keywords

FAQs

Package last updated on 02 Jan 2019

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc