JS的简单表单校验

JS完成表单校验

前言:在前端进行验证码的提前校验,可以减少服务器的访问压力,和增加用户的实时体验。(在此,感谢黑马程序员提供的免费的学习资料)

在这里插入图片描述
以百度的注册界面进行分析,我们需要的功能是:
1.输入不符合规范的字符组时,提示明显的错误信息。
2.只有当整个注册环节符合注册规则,点击注册可以进行提交。
3.输入窗口失去焦点时候,自动验证表单信息。

//以单个的注册用户名进行分析
	<form id="registerForm" action="user"> //form表单里要加上action条件,才能对注册信息的数据提交
<table >
				<tr>
			     <td > 
					<label for="username">用户名</label>
				</td>
			    <td >
				<input type="text" id="username" name="username" placeholder="请输入账号">//placeholder,设置输入文本框默认提示字体 
			    </td>
				</tr>
	</table >
</form>

进行script代码的编写

<script>

//输入不符合规范的字符组时,提示明显的错误信息。

function checkUsername(){       //进行当个注册框的校验编写
    //1.通过用户名的 id 获取用户名的值
    
	var username = $("#username").val();  
	
	// 2. 定义注册的规则(使用正则表达式) 要求:单词字符,长度8到20位
	
	var reg_username =/^\w{8,20}$/; 
	
	//3. 进行条件判断
	
		var flag = reg_username.test(username); //用test方法对注册的信息进行规则判断,返回的是boolean值
		
		if (flag){
			//用户名合法,去掉红颜色边框或不显示样式
			$("#username").css("border","");
		} else {
			//用户名非法,加红颜色边框
			$("#username").css("border","2px solid red");
		}
		return flag;
	
}

//.2.只有当整个注册环节符合注册规则,点击注册可以进行提交。
	$(function(){  //添加加载函数

					//submit方法,如果这个方法没有返回值或者返回为true,则表单提交,如果返回为false,则表单不提交
					$("#registerForm").submit(function () {

					return 	checkUsername() ; //如果返回的是true,则校验通过,提交注册信息,如果返回的是false,则表单不提交。
		)};
	
//3.输入窗口失去焦点时候,自动验证表单信息。
				//当某一个组件失去焦点时,调用对应的校验方法使用 blur 方法
				$("#username").blur(checkUsername); //注意没有括号
					
});

</script>
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
V-decorator是基于Vue.js表单校验插件,它可以帮助我们在Vue.js中更方便地实现表单校验。 以下是一个简单的使用v-decorator进行表单校验的例子: ```html <template> <div> <form> <div> <label for="name">姓名:</label> <input type="text" id="name" v-model="name"> </div> <div> <label for="age">年龄:</label> <input type="number" id="age" v-model="age"> </div> <div> <button @click.prevent="submitForm">提交</button> </div> </form> </div> </template> <script> import { required, numeric } from 'vuelidate/lib/validators'; import { validationMixin } from 'vuelidate'; export default { name: 'MyForm', mixins: [validationMixin], data() { return { name: '', age: '', }; }, validations: { name: { required, }, age: { required, numeric, }, }, methods: { submitForm() { this.$v.$touch(); if (!this.$v.$invalid) { // 表单校验通过 console.log('表单校验通过'); } }, }, }; </script> ``` 在上面的例子中,我们使用了vuelidate来完成表单校验,具体步骤如下: 1. 安装vuelidate和v-decorator ```bash npm install --save vuelidate v-decorator ``` 2. 在组件中引入vuelidate和v-decorator ```javascript import { required, numeric } from 'vuelidate/lib/validators'; import { validationMixin } from 'vuelidate'; ``` 3. 在组件中使用validationMixin ```javascript mixins: [validationMixin], ``` 4. 在组件的data中定义需要校验表单项 ```javascript data() { return { name: '', age: '', }; }, ``` 5. 在组件的validations中定义每个表单项的校验规则 ```javascript validations: { name: { required, }, age: { required, numeric, }, }, ``` 6. 在组件中调用$v.$touch()方法触发表单校验 ```javascript submitForm() { this.$v.$touch(); if (!this.$v.$invalid) { // 表单校验通过 console.log('表单校验通过'); } }, ``` 通过以上步骤,就可以轻松地使用v-decorator进行表单校验了。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值