jquery validate 详解二

图腾柱无桥PFC控制逻辑解析:从双闭环到电压前馈的设计演进 本文深入解析图腾柱无桥PFC控制逻辑的设计演进,从经典双闭环控制到电压前馈技术的实现。通过分析功率波动问题和动态响应慢的症结,提出引入电压前馈的解决方案,并详细探讨数字实现中的关键注意事项。文章还涵盖控制框图的构建、稳定性分析方法及实际应用中的调参技巧,为开关电源设计提供实用指导。 阅读详情

这里只是第二篇,前面的内容请参阅上一篇

五、常用方法及注意问题

1.用其他方式替代默认的SUBMIT

$().ready(function() {
 $("#signupForm").validate({
       submitHandler:function(form){
           alert("submitted");   
           form.submit();
       }    
    });
});

可以设置validate的默认值,写法如下:
$.validator.setDefaults({
 submitHandler: function(form) {alert("submitted!");form.submit(); }
});

如果想提交表单, 需要使用form.submit()而不要使用$(form).submit()

2.debug,只验证不提交表单

如果这个参数为true,那么表单不会提交,只进行检查,调试时十分方便



$().ready(function() {
 $("#signupForm").validate({
       debug:true
    });
});
如果一个页面中有多个表单都想设置成为debug,用
$.validator.setDefaults({
   debug: true
})

3.ignore:忽略某些元素不验证
ignore: ".ignore"

4.更改错误信息显示的位置

errorPlacement:Callback 

 Default:把错误信息放在验证的元素后面 
指明错误放置的位置,默认情况是:error.appendTo(element.parent());即把错误信息放在验证的元素后面
errorPlacement: function(error, element){  
   error.appendTo(element.parent());  
}

//示例:
<tr>
   <tdclass="label"><label id="lfirstname"for="firstname">FirstName</label></td>
   <tdclass="field"><input id="firstname"name="firstname" type="text" value="" maxlength="100"/></td>
   <tdclass="status"></td>
</tr>
<tr>
   <td style="padding-right:5px;">
       <input id="dateformat_eu" name="dateformat"type="radio" value="0" />
       <label id="ldateformat_eu"for="dateformat_eu">14/02/07</label>
   </td>
   <td style="padding-left: 5px;">
       <input id="dateformat_am" name="dateformat"type="radio" value="1"  />
       <label id="ldateformat_am"for="dateformat_am">02/14/07</label>
   </td>
   <td></td>
</tr>
<tr>
   <tdclass="label">&nbsp;</td>
   <td class="field" colspan="2">
       <div id="termswrap">
           <input id="terms" type="checkbox" name="terms"/>
           <label id="lterms" for="terms">I haveread and accept the Terms ofUse.</label>
       </div>
   </td>
</tr>

errorPlacement: function(error, element) {
    if (element.is(":radio") )
       error.appendTo( element.parent().next().next() );
    else if (element.is(":checkbox") )
       error.appendTo ( element.next() );
    else
       error.appendTo( element.parent().next() );
}

代码的作用是:一般情况下把错误信息显示在<tdclass="status"></td>中,如果是radio显示在<td></td>中,如果是checkbox显示在内容的后面

errorClass:String  Default:"error" 
指定错误提示的css类名,可以自定义错误提示的样式

errorElement:String  Default:"label" 
用什么标签标记错误,默认的是label你可以改成em

errorContainer:Selector 
显示或者隐藏验证信息,可以自动实现有错误信息出现时把容器属性变为显示,无错误时隐藏,用处不大
errorContainer: "#messageBox1, #messageBox2"

errorLabelContainer:Selector
把错误信息统一放在一个容器里面。

wrapper:String
用什么标签再把上边的errorELement包起来

一般这三个属性同时使用,实现在一个容器内显示所有错误提示的功能,并且没有信息时自动隐藏

errorContainer: "div.error",
errorLabelContainer: $("#signupForm div.error"),
wrapper: "li"

5更改错误信息显示的样式

设置错误提示的样式,可以增加图标显示,在该系统中已经建立了一个validation.css专门用于维护校验文件的样式

 

input.error { border: 1px solid red; }
label.error {
  background:url("./demo/images/unchecked.gif")no-repeat 0px 0px;

  padding-left: 16px;

  padding-bottom: 2px;

  font-weight: bold;

  color: #EA5200;
}
label.checked {
  background:url("./demo/images/checked.gif")no-repeat 0px 0px;
}

6每个字段验证通过执行函数

success:String,Callback
要验证的元素通过验证后的动作,如果跟一个字符串,会当做一个css类,也可跟一个函数
success: function(label) {
    // set&nbsp; as text for IE
   label.html("&nbsp;").addClass("checked");
   //label.addClass("valid").text("Ok!")
}
添加"valid"到验证元素, 在CSS中定义的样式<style>label.valid{}</style>
success: "valid"

 

7验证的触发方式修改

下面的虽然是boolean型的,但建议除非要改为false,否则别乱添加。

onsubmit:Boolean  Default:true 
提交时验证. 设置唯false就用其他方法去验证
onfocusout
:Boolean  Default:true 
失去焦点是验证(不包括checkboxes/radio buttons)
onkeyup
:Boolean  Default:true 
在keyup时验证.
onclick
:Boolean  Default:true 
在checkboxes 和 radio 点击时验证
focusInvalid
:Boolean  Default:true 
提交表单后,未通过验证的表单(第一个或提交之前获得焦点的未通过验证的表单)会获得焦点
focusCleanup
:Boolean  Default:false 
如果是true那么当未通过验证的元素获得焦点时,移除错误提示。避免和 focusInvalid 一起用

 

// 重置表单
$().ready(function() {
 var validator = $("#signupForm").validate({
       submitHandler:function(form){
           alert("submitted");   
           form.submit();
       }    
    });
   $("#reset").click(function() {
       validator.resetForm();
   });

});

8异步验证

remote:URL
使用ajax方式进行验证,默认会提交当前验证的值到远程地址,如果需要提交其他的值,可以使用data选项

remote: "check-email.php"

remote: {
    url:"check-email.php",    //
后台处理程序
    type:"post",              //
数据发送方式
    dataType:"json",          //
接受数据格式   
    data:{                    //
要传递的数据
       username: function() {
           return $("#username").val();
       }
    }
}


远程地址只能输出 "true" 或 "false",不能有其它输出

 

9添加自定义校验

addMethod:name, method, message
自定义验证方法


//
中文字两个字节
jQuery.validator.addMethod("byteRangeLength", function(value,element, param) {
    var length =value.length;
    for(var i =0; i < value.length; i++){
       if(value.charCodeAt(i) > 127){
           length++;
       }
    }
  return this.optional(element) || ( length>= param[0] &&length <= param[1]);   
}, $.validator.format("
请确保输入的值在{0}-{1}个字节之间(一个中文字算2个字节)"));


//
邮政编码验证   
jQuery.validator.addMethod("isZipCode", function(value, element){   
    var tel =/^[0-9]{6}$/;
    returnthis.optional(element) || (tel.test(value));
}, "
请正确填写您的邮政编码");

10radio和checkbox、select的验证

 

1.radio的required表示必须选中一个
<input  type="radio"id="gender_male" value="m" name="gender" class="{required:true}"/>
<input  type="radio"id="gender_female" value="f"name="gender"/>

 

2.checkbox的required表示必须选中
<input type="checkbox" class="checkbox" id="agree"name="agree" class="{required:true}"/>

checkbox的minlength表示必须选中的最小个数,maxlength表示最大的选中个数,rangelength:[2,3]表 示选中个数区间


<input type="checkbox" class="checkbox"id="spam_email" value="email" name="spam[]" class="{required:true,minlength:2}" />
<input type="checkbox" class="checkbox"id="spam_phone" value="phone" name="spam[]" />
<input type="checkbox" class="checkbox"id="spam_mail" value="mail" name="spam[]"/>

 

   3.select的required表示选中的value不能为空
<select id="jungle" name="jungle" title="Pleaseselect something!" class="{required:true}">
   <optionvalue=""></option>
   <optionvalue="1">Buga</option>
   <optionvalue="2">Baga</option>
   <optionvalue="3">Oi</option>
</select>

 

select的minlength表示选中的最小个数(可多选的select),maxlength表示最大的选中个 数,rangelength:[2,3]表示选中个数区间
<select id="fruit" name="fruit" title="Please selectat least two fruits" class="{required:true, minlength:2}"multiple="multiple">
   <optionvalue="b">Banana</option>
   <optionvalue="a">Apple</option>
   <optionvalue="p">Peach</option>
   <optionvalue="t">Turtle</option>
</select>



LoRa双端通信稳定性核心:同步字配置与LLCC68工程实践 LoRa是一种基于扩频调制的远距离低功耗无线通信技术,其物理层鲁棒性依赖于发射端与接收端在频率、带宽、扩频因子及同步字等关键参数上的严格一致。同步字作为LoRa帧结构中位于前导码之后的2字节标识字段,承担着物理层帧过滤与网络隔离的核心作用,直接影响通信成功率与抗干扰能力。在实际嵌入式开发中,尤其采用LLCC68等专用射频芯片时,同步字配置错误或双端不一致是导致‘能发不能收’‘间歇性丢包’等典型问题的首要原因。本文面向STM32等Cortex-M平台开发者,结合硬件一致性约束、驱动移植方法论与寄存器级调试手段 阅读详情

相关推荐

从零到一:用ROS2和Gazebo搭建Franka机械臂仿真环境(避坑指南)

本文详细介绍了如何使用ROS2和Gazebo从零开始搭建Franka机械臂的仿真环境,包括环境准备、ROS2包安装、控制器配置及常见问题解决方案。特别针对关节位置控制等核心功能提供了实用代码示例和避坑指南,帮助开发者高效构建机器人算法验证平台。

weixin_29061465的博客 459

jquery 的validate 动态添加验证规则 及 jquery选择器 name带变量

在做项目中碰到一个问题:   一个table的行数不定,看数据库中的数据有多少行,则table出现多少行。这次的问题是,出现的行里,有部分是需要客户自己填的数据,而这些数据是必填的,这就需要我们去验证。这里面有两个难点:     1使用jquery 的validate插件进行输入框的验证,动态添加验证     2 因为相同列的input的那么会是一个数组形式,如name[0],name[1]

yuxuan89914的专栏 3137

3D医学影像分割新突破:手把手教你用MedSAM2快速标注CT/MRI数据(附3D Slicer插件配置)

本文详细介绍了如何利用MedSAM2模型进行3D医学影像分割,包括从环境准备到3D Slicer插件配置的全流程。通过实战案例和技巧分享,帮助医疗从业者快速掌握CT/MRI数据的高效标注方法,提升医学影像分析的准确性和效率。

ujm5678901的博客 299

jquery validate 的select 验证

用jquery validate 做select的验证的时候, &lt;select name="sortId"&gt; &lt;option disabled="disabled"&gt;第一个&lt;option&gt; &lt;option value="1"&gt;第二个&lt;/option&gt; &lt;opt

xxxxx 1750

RFSOC实战解析:MTS多片同步的时序校准与相位相干实现

本文深入解析了在RFSOC平台上实现MTS多片同步的关键技术与实战流程。文章从相位相干的重要性出发,详细阐述了SYSREF与SYNC信号的协同工作机制,并提供了从硬件时钟配置到软件API调用的完整MTS实现步骤。重点探讨了时序校准的核心方法,旨在帮助工程师解决多通道系统相位不一致的难题,确保ADC与DAC达到精确的相位相干,从而构建高性能的MIMO和相控阵系统。

weixin_29206669的博客 192

ENS160传感器原理图设计,已量产(空气质量传感器)

ENS160 是一款集成式数字空气质量传感器,核心优势源于 “MEMS 传感元件 + 内置微处理器” 的架构。

不脱发的程序猿 570

jquery validate 二选一,错误提示在一处

转载自:http://blog.51yip.com/jsjquery/1483.html 有一同事对jquery validate这个插件不熟,实现多处报错信息在一处,并且还有二选一的情况,二个输入框,有一个输入就算通过。groups可以把多处报错放到一处,depends可以解决多选一的情况。下面举个例子,demo 以下是部分代码,全部代码看上面的例子。 查看

每一次对问题的深究,总会收获新的知识和体会 3258

微信文件自动归档!手把手教你用OpenClaw搭个自己的“数字员工”,告别重复劳动

很多人说“AI是未来”,但未来不是靠喊口号的。OpenClaw的真正价值,是让你把重复劳动交出去,把时间留给真正需要创造力的事。这事真能干,而且不难。下载OpenClaw(GitHub仓库按我写的步骤跑一遍遇到坑,评论区留言——我亲自帮你看作者后记:上周五,我让AI自动归档了文件后,终于在5点准时下班。回家路上,我给它发了条消息:“干得漂亮”。它没回,但我知道——它在默默等我的下一条指令。

2601_94871597的博客 413

jquery validate 基础(二)之validate

在validate()方法里,我们可以传递很多参数。从今天开始,我就会逐一介绍。 · debug:默认值为 false。 如果将 debug 设置成 true,则表单即使验证通过了,也不会提交。debug 设置成true,一般错误信息也会显示在 console(chrome 直接按 F12, Firefox 安装 firebug 后,按 F12) 里,如 表单元素没有 name 属性等。 $

martin 765

基于Simulink的固态变压器(SST)多级协同控制​

本文介绍了基于Simulink的固态变压器(SST)多级协同控制方法。SST作为智能电网关键设备,其三级架构(AC-DC整流、DC-DC隔离、DC-AC逆变)存在级间耦合问题。文章提出纵向解耦与横向联动相结合的协同控制策略,详细推导了各级控制算法,并通过Simulink实现了10kV/400V级联型SST系统建模。仿真结果显示,在±20%电网波动和0-100%负载跳变下,系统能保持直流母线电压波动<2%。文章还提供了工程部署建议和代码生成方法,为SST的研发提供了实用指导。

amy_mhd的博客 301

基于STM32L4XX、HAL库的 ATGM336H GPS定位模块驱动程序设计

/ 转换为km/h。// 定位状态: 0=无效, 1=GPS定位, 2=差分定位。// GPS解析数据。支持GPS/BeiDou/GLONASS/Galileo/QZSS多系统联合定位。// 回调函数(需要在HAL_UART_RxCpltCallback中调用)// 地面速度(km/h)// 海拔高度(m)

zhusl6688的博客 794

jquery validate 使用详解二

转载自http://blog.sina.com.cn/s/blog_608475eb0100h3h1.html 1.用其他方式替代默认的SUBMIT $().ready(function() {  $("#signupForm").validate({        submitHandler:function(form){            alert("submi

JohnYang's 优快云 Home 597

华为od统一考试B卷【宜居星球改造计划】Java&Go 实现

XXX年,人类通过对火星的大气进行宜居改造分析,使得火星已在理论上具备人类宜居的条件,由于技术原因,无法一次性将火星大气全部改造,只能通过局部处理形式,假设将火星待改造的区域为row * column的网格每个网格有3个值,宜居区、可改造区、死亡区,使用YES、NO、NA代替,YES表示该网格已经完成大气改造,NO表示该网格未进行改造,后期可进行改造,NA表示死亡区,不作为判断是否改造完成的宜居,无法穿过 初始化下,该区域可能存在多个宜居区,并且每个宜居区能同时在每个太阳日单位向上下左右四个方向的相邻格子进

MISAYAONE的博客 1万+

【转】JQuery Validate使用总结二

Jquery Validate使用总结一 五、常用方法及注意问题 1.用其他方式替代默认的SUBMIT $().ready(function() { $("#signupForm").validate({ submitHandler:function(form){ alert("submitted"); ...

weixin_30505751的博客 98

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

上一篇: jQuery校验validate详解
下一篇: jquery validate 使用示范
落落的天堂
博客等级 码龄15年 470粉丝 85原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值