jQuery Validate 前端校验

参考自:https://www.runoob.com/jquery/jquery-plugin-validate.html

建议:将引入的js,jQuery,css文件下载到自己的本地或者远程服务器

否则:如果您的网站使用了SSL证书请求的安全策略,注意引用的文件是否是https的安全链接。

 

//补充一个自己写的手机号码验证方法,源文件是没有对中国电话号码支持的jQuery.validator.addMethod("isMobile", function(value, element) {var length = value.length;var mobile = /^(13[0-9]{9})|(18[0-9]{9})|(14[0-9]{9})|(17[0-9]{9})|(15[0-9]{9})$/;return this.optional(element) || (length == 11 && mobile.test(value)); }, "请正确填写手机号码");

使用方法:

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta http-equiv="X-UA-Compatible" content="ie=edge"><link href="__TMPL__/public/assets/simpleboot3/themes/simpleboot3/bootstrap.min.css" rel="stylesheet"><script src="__TMPL__/public/assets/js/jquery-1.10.2.min.js"></script><script src="__TMPL__/public/assets/simpleboot3/bootstrap/js/bootstrap.min.js"></script><script src="https://static.runoob.com/assets/jquery-validation-1.14.0/dist/jquery.validate.min.js"></script><link href="__TMPL__/public/plugins/css/fileinput.css" media="all" rel="stylesheet" type="text/css" /><script src="__TMPL__/public/plugins/js/fileinput.js" type="text/javascript"></script><title>举报活禽非法交易</title>
</head>
<style>.error{color: #f40;}
</style>
<body>
<form role="form" name="form1" id="form1"><div class="form-group"><label class="col-sm-2 control-label">MS.请选择您所在的区域</label><div class="col-sm-10"><select class="form-control col-sm-10" name="district_id"><foreach name="districts" id="vo"><option value="{$vo.id}">{$vo.name}</option></foreach></select></div></div><div class="form-group"><label class="col-xs-12 col-sm-12">1.请填写您的个人信息</label><label for="name" class="col-xs-5 col-sm-2 control-label">姓名</label><div class="col-xs-7 col-sm-10"><input type="text" class="form-control" id="name" placeholder="请输入姓名" name="report_name"></div></div><div class="form-group"><label for="mobile" class="col-xs-5 col-sm-2 control-label">联系方式</label><div class="col-xs-7 col-sm-10"><input type="text" class="form-control" id="mobile" placeholder="请输入联系方式" name="report_mobile"></div></div><div class="form-group"><label for="lastname" class="col-xs-5 col-sm-2 control-label">义工号(选填)</label><div class="col-xs-7 col-sm-10"><input type="text" class="form-control" id="lastname" placeholder="请输入义工号(选填)" name="volunteer_no"></div></div><div class="form-group"><label class="col-sm-2 control-label">2.请选择您的性别</label><div class="col-sm-10"><select class="form-control" name="sex"><option value="0">男</option><option value="1">女</option></select></div></div><div class="form-group"><label class="col-sm-12 control-label">3.请详细描述清楚活禽交易地址</label><label class="col-sm-12 control-label">(如某区某街道某市场某档口)</label><div class="col-sm-10"><textarea class="form-control" rows="3" name="remark"></textarea></div></div><div class="form-group"><label class="col-sm-12 control-label">4.活禽交易现场照片</label><label class="col-sm-12 control-label">注:照片能清晰反映销售活禽的现场照片含背景参照物</label><div class="col-sm-10"><input id="file-1" name="file" type="file" multiple class="file" data-overwrite-initial="false" data-min-file-count="1"></div><label class="col-sm-12 control-label">仅允许上传gif、jpg、png格式图片</label></div><div id="myAlert" class="alert alert-success" style="display: none"><a href="#" class="close" data-dismiss="alert">&times;</a></div><div class="col-sm-10"><button type="submit" class="btn btn-primary col-xs-12" id="submit">提交</button></div><input type="hidden" name="imgs" id="imgs"/>
</form></body>
<script>$("#file-1").fileinput({uploadUrl: '/api/public/uploadFile',allowedFileExtensions : ['jpg', 'png','gif','jpeg'],overwriteInitial: false,browseLabel:'浏览',removeLabel:'删除所有',uploadLabel:'上传',dropZoneTitle:'可选择多个文件上传',maxFileSize: 0,maxFilesNum: 9,//allowedFileTypes: ['image', 'video', 'flash'],slugCallback: function(filename) {//console.log("slugCallback = ",filename);return filename.replace('(', '_').replace(']', '_');}}).on("fileuploaded", function(event, data, previewId, index) {var arr = [];arr.push(data.response.data.filepath);arr = arr.join(',');document.getElementsByName("imgs")[0].value = arr;//console.log("----",document.getElementsByName("imgs")[0].value);});//手机号码验证jQuery.validator.addMethod("isMobile", function(value, element) {var length = value.length;var mobile = /^(13[0-9]{9})|(18[0-9]{9})|(14[0-9]{9})|(17[0-9]{9})|(15[0-9]{9})$/;return this.optional(element) || (length == 11 && mobile.test(value));}, "请正确填写手机号码");function checkForm(){$("#form1").validate({onsubmit:true,rules: {report_name: {required: true    //此处就是必填项验证},report_mobile: {required: true,minlength : 11,isMobile : true},volunteer_no: {minlength : 10,},remark: {required: true}},messages: {     //相对应的错误提示信息report_name: {required: "请输入账号!"},report_mobile: {required:"请输入有效的手机号!",minlength : "不能小于11个字符",isMobile : "请正确填写手机号码"},volunteer_no: {minlength : "义工号是10位"},remark:{required:"请输入交易地址"}},success:"valid",submitHandler:function(){var data = {};data.district_id = document.getElementsByName("district_id")[0].value;data.report_name = document.getElementsByName("report_name")[0].value;data.report_mobile = document.getElementsByName("report_mobile")[0].value;data.volunteer_no = document.getElementsByName("volunteer_no")[0].value;data.sex = document.getElementsByName("sex")[0].value;data.remark = document.getElementsByName("remark")[0].value;data.imgs = document.getElementsByName("imgs")[0].value;$.ajax({url: "reportPost",data: data,context: document.body,dataType:"json",type:"POST",success: function(res){$("#myAlert span").remove();if (res.code){$("#myAlert").css("display","block").children("a").after( '<span>'+res.msg+'</span>');}else{$("#myAlert").css("display","block").children("a").after( '<span>'+res.msg+'</span>');}}});}});}$(function() {checkForm();//表单数据初始化});
</script>
</html>

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/413411.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

[css] 异步加载CSS的方式有哪些?

[css] 异步加载CSS的方式有哪些&#xff1f; 异步加载CSS 说到加载 CSS 这种事儿不是很简单吗&#xff1f;像这样咯&#xff1a; 这不就完事儿了嘛&#xff01; 这样是没错&#xff01;但是这样有问题啊——会阻塞渲染&#xff01;浏览器看到这个标签就会停下手里的活儿&…

Golang 垃圾回收机制

1. Golang GC 发展 Golang 从第一个版本以来&#xff0c;GC 一直是大家诟病最多的。但是每一个版本的发布基本都伴随着 GC 的改进。下面列出一些比较重要的改动。 v1.1 STWv1.3 Mark STW, Sweep 并行v1.5 三色标记法v1.8 hybrid write barrier2. GC 算法简介  这一小节介绍三…

Bootstrap FileInput(文件上传)中文API整理

下载地址、API和DOM地址&#xff08;英语好的小伙伴可以看看&#xff09; 下载地址&#xff1a;https://github.com/kartik-v/bootstrap-fileinput API文档 &#xff1a;http://plugins.krajee.com/file-input D E M O&#xff1a;http://plugins.krajee.com/file-input/demo …

[css] 举例说明如何从html元素继承box-sizing?

[css] 举例说明如何从html元素继承box-sizing&#xff1f; html{box-sizing:border-box;}*,*:before,*:after{box-sizing:inherit;}个人简介 我是歌谣&#xff0c;欢迎和大家一起交流前后端知识。放弃很容易&#xff0c; 但坚持一定很酷。欢迎大家一起讨论 主目录 与歌谣一起…

Configutation读取properties文件信息

commons configuration可以很方便的访问配置文件和xml文件中的的内容。Commons Configuration 是为了提供对属性文件、XML文件、JNDI资源、来自JDBC Datasource数据的访问。 官方文档&#xff1a;http://commons.apache.org/proper/commons-configuration/ 我们研究configurati…

JavaScript 所有数据类型

JavaScript 所有数据类型 在 JavaScript 中有 5 种不同的数据类型&#xff1a; stringnumberbooleanobjectfunction 3 种对象类型&#xff1a; ObjectDateArray 2 个不包含任何值的数据类型&#xff1a; nullundefined 可以使用 typeof 操作符来查看 JavaScript 变量的数据…

[css] 使用css的attr()写一个类似a标签title的提示框

[css] 使用css的attr()写一个类似a标签title的提示框 .box{position:relative;}.box:hover{content: attr(data-title); display: inline-block;padding: 10px 14px;border: 1px solid #ddd;border-radius: 5px;position: absolute;top: -50px;left: -10px;}个人简介 我是歌…

JavaScript 严格模式(use strict)

使用 "use strict" 指令 "use strict" 指令在 JavaScript 1.8.5 (ECMAScript5) 中新增。 它不是一条语句&#xff0c;但是是一个字面量表达式&#xff0c;在 JavaScript 旧版本中会被忽略。 "use strict" 的目的是指定代码在严格条件下执行。…

IO 概括

# 一、概览 Java 的 I/O 大概可以分成以下几类&#xff1a; - 磁盘操作&#xff1a;File- 字节操作&#xff1a;InputStream 和 OutputStream- 字符操作&#xff1a;Reader 和 Writer- 对象操作&#xff1a;Serializable- 网络操作&#xff1a;Socket- 新的输入/输出&#xff1…

JavaScript this 关键字

面向对象语言中 this 表示当前对象的一个引用。 但在 JavaScript 中 this 不是固定不变的&#xff0c;它会随着执行环境的改变而改变。 在方法中&#xff0c;this 表示该方法所属的对象。如果单独使用&#xff0c;this 表示全局对象。在函数中&#xff0c;this 表示全局对象。…

[css] 鼠标事件css的:hover和js的mouseover有什么区别?

[css] 鼠标事件css的:hover和js的mouseover有什么区别&#xff1f; JavaScript中鼠标事件有&#xff1a;onmouseover和onmouseout&#xff1a; 当鼠标移入和移出时触发事件onmousedown和onmouseup&#xff1a; 当鼠标按钮被按下或者松开时触发事件onclick和ondbclick &#xf…

【一步一步学习spring】spring入门

1. spring概述 spring是一个开源框架spring为简化企业级应用开发而生&#xff0c;解决的是业务逻辑层和其他各层的松耦合问题&#xff0c;他将面向接口的编程思想贯穿整个系统应用。spring是javaSE/EE的一站式框架。web层有spring-mvc&#xff0c;业务层有spring ioc、事务等机…

JavaScript 操作 HTML DOM (文档对象模型) 相关知识点

HTML DOM 树 通过可编程的对象模型&#xff0c;JavaScript 获得了足够的能力来创建动态的 HTML。 JavaScript 能够改变页面中的所有 HTML 元素JavaScript 能够改变页面中的所有 HTML 属性JavaScript 能够改变页面中的所有 CSS 样式JavaScript 能够对页面中的所有事件做出反应…

[css] 举例说明你对指针事件(pointer-events)的理解

[css] 举例说明你对指针事件&#xff08;pointer-events&#xff09;的理解 pointer-events CSS 属性指定在什么情况下 (如果有) 某个特定的图形元素可以成为鼠标事件的 target。 当point-events 为none时&#xff0c;比如a连接不再生效个人简介 我是歌谣&#xff0c;欢迎和大…

JS运行三部曲

语法分析 预编译 解释执行 下面两句话能解决问题&#xff0c;但解决不了深入的问题&#xff0c;其实原理是 预编译产生的两个现象&#xff08;规律&#xff09;。 函数声明整体提升变量 声明提升 预编译前奏 imply global 暗示全局变量&#xff1a;即任何变量&#xff…

[BZOJ3791]作业

Description 众所周知&#xff0c;白神是具有神奇的能力的。比如说&#xff0c;他对数学作业说一声“数”&#xff0c;数学作业就会出于畏惧而自己完成&#xff1b;对语文作业说一声“语”&#xff0c;语文作业就会出于畏惧而自己完成。今天&#xff0c;语文老师和数学老师布置…

[css] 如何用css实现把“我不爱996”变成“699爱不我”?

[css] 如何用css实现把“我不爱996”变成“699爱不我”&#xff1f; unicode-bidi 属性与 direction 属性一起使用&#xff0c;来设置或返回文本是否被重写&#xff0c;以便在同一文档中支持多种语言。 用direction属性设置rtl表示从右到左&#xff0c;默认是ltr从左到右的&am…

[css] scroll-snap-align属性的应用场景是什么?

[css] scroll-snap-align属性的应用场景是什么&#xff1f; 滚动一个列表时&#xff0c;控制列表中一个块始终完全在可视区内,如果滚动到一半可以回弹&#xff0c;保持整个块都在可视区。个人简介 我是歌谣&#xff0c;欢迎和大家一起交流前后端知识。放弃很容易&#xff0c;…

STM32 软件模拟 IIC 代码,标准库、HAL库可用

1 #ifndef _IIC_H2 #define _IIC_H3 4 #include "stdio.h" 5 #include "stm32f1xx_hal.h"6 7 8 /* 定义控制 SDA SCL 的宏 标准库版9 #define I2C_SDA_UP GPIO_SetBits (GPIOC,GPIO_PIN_8) //SDA高电平 10 #define I2C_SDA_LOW GPIO_…

作用域及上下文理解

书本中的解释 [[scope]]:每个javascript函数都是一个对象&#xff0c;对象中有些属性我们可以访问&#xff0c;但有些不可以&#xff0c;这些属性仅供javascript引擎存取&#xff0c;[[scope]]就是其中一个。[[scope]]:指的就是我们所说的作用域&#xff0c;其中存储了运行期上…