atitit.表单验证的dsl 本质跟 easyui ligerui比较

1. DSL 声明验证 1

2. 自定义规则 1

3. 正则表达式验证,可以扩展实现 2

4. 犯错误消息提示,generic canBeEmpty is good 3

5. Prevent the form to submit when invalid 3

6. 为空则不验证,不为空则验证,的实现 5

7. 参考 6

1. DSL 声明验证

<input class="easyui-validatebox" type="text" name="email" required="true" validType="email"></input>

We add a class named easyui-validatebox to input markup so the input markup will be applied the validation according the validType attribute.

Liger

<input ligeruiid="txtName" style="width: 174px;" class="l-text-field" name="txtName" id="txtName" ltype="text" validate="{required:true,minlength:3,maxlength:10}" type="text">

验证规则

验证规则使用required和validType属性来定义, 以下列出的是插件内置的验证规则。

1 email: 正则匹配电子邮件。

2 url: 正则匹配url。

3 length[0,100]: 验证长度范围。

4 remote['http://.../action.do','paramName']: 发送ajax请求来验证,验证有效时返回true。

作者:: 老哇的爪子 Attilax 艾龙,  EMAIL:1466519819@qq.com

转载请注明来源: http://blog.csdn.net/attilax

2. 自定义规则

要自定义规则,重载$.fn.validatebox.defaults。你所定义的验证规则必须定义一个验证函数和验证无效时的提示信息。 例如,定义一个验证最小长度的规则:

5 $.extend($.fn.validatebox.defaults.rules, {

6     minLength: {

7         validator: function(value, param){

8             return value.length >= param[0];

9         },

10         message: 'Please enter at least {0} characters.'

11     }

12 });

现在你可以使用最小长度验证规则来定义一个至少要输入5个字符的输入框。

13 <input class="easyui-validatebox" validType="minLength[5]">

14 此处的validType=“minLength[5]”,设置可能无效,可设置为validType="length[3,8]",填入的值在3~8个字符之间

属性

3. 正则表达式验证,可以扩展实现

拓展2

$.extend($.fn.validatebox.defaults.rules,{

idcard : {// 验证身份证

validator : function(value) {

return/^\d{15}(\d{2}[A-Za-z0-9])?$/i.test(value);

},

message : '身份证号码格式不正确'

},

4. 犯错误消息提示,generic canBeEmpty is good

属性

名称

类型

描述

默认值

required(必填)

boolean(布尔型)

定义表单域必须填写。

false

validType(验证类型)

string(字符串)

定义表单域的验证类型,比如:email, url等。

null

missingMessage(未填提示)

string(字符串)

当表单域未填写时出现的提示信息。

This field is required.

invalidMessage(无效提示)

string(字符串)

当表单域的内容被验证为无效时出现的提示。

null

Liger::::deft is this field is not be empty ,,jsig haon normall....generic...

5. Prevent the form to submit when invalid

When users click the submit button of form, we should prevent the form to submit if the form is invalid.

15 $('#ff').form({

16 url:'form3_proc.php',

17 onSubmit:function(){

18 return $(this).form('validate');

19 },

20 success:function(data){

21 $.messager.alert('Info', data, 'info');

22 }

23 });

If the form is invalid, a tooltip message will show.

--------liger

$(function ()

{

$.metadata.setType("attr", "validate");

var v = $("form").validate({

debug: true,

errorPlacement: function (lable, element)

{

if (element.hasClass("l-textarea"))

{

element.ligerTip({ content: lable.html(), target: element[0] });

}

else if (element.hasClass("l-text-field"))

{

element.parent().ligerTip({ content: lable.html(), target: element[0] });

}

else

{

lable.appendTo(element.parents("td:first").next("td"));

}

},

success: function (lable)

{

lable.ligerHideTip();

lable.remove();

},

submitHandler: function ()

{

$("form .l-text,.l-textarea").ligerHideTip();

alert("Submitted!")

}

});

$("form").ligerForm();

$(".l-button-test").click(function ()

{

alert(v.element($("#txtName")));

});

});

6. 为空则不验证,不为空则验证,的实现

现在是不适合的,还要自己扩展规则。 
但email,url,电话这种很多时候需求都是允许为空的。

重载一下验证规则:

Js代码

24 $.extend($.fn.validatebox.defaults.rules, {

25     email:{

26         validator:function(value,param){

27             if (value){

28                 return /^([\w]+)(.[\w]+)*@([\w-]+\.){1,5}([A-Za-z]){2,4}$/.test(value);

29             } else {

30                 return true;

31             }

32         },

33         message:'Please enter a valid email address.'

34     },

35     url:{

36         validator:function(value,param){

37             if (value){

38                 return /(((https?)|(ftp)):\/\/([\-\w]+\.)+\w{2,3}(\/[%\-\w]+(\.\w{2,})?)*(([\w\-\.\?\\\/+@&#;`~=%!]*)(\.\w{2,})?)*\/?)/i.test(value);

39             } else {

40                 return true;

41             }

42         },

43         message:'Please enter a valid URL.'

44     }

45 });

7. 参考

扩展easyui 的表单验证 - 疯狂秀才 - 博客园.htm

easyui 正则表达式验证扩展(包括一些经常用到的正则验证式)_东avaj东_新浪博客.htm

转载于:https://www.cnblogs.com/attilax/p/5963920.html

atitit.表单验证 的dsl 本质跟 easyui ligerui比较相关推荐

  1. JS(DOM对象 表单验证与正则表达)

    目录 DOM对象 表单验证 DOM对象 <!DOCTYPE html> <html><head><meta charset="utf-8" ...

  2. 框架生成的HTML修改,Django框架form表单验证 修改html标签的样式

    经过前面的学习,我们大致可以知道CharField.EmailField等等以Field结尾的方法,只能帮助我们对用户发来的信息做验证,不能生成html标签.字段本身自己虽然只做验证,但是我们可以通过 ...

  3. jQuery html5Validate基于HTML5表单验证插件

    更新于2016-02-25 前面提到的新版目前线上已经可以访问: http://mp.gtimg.cn/old_mp/assets/js/common/ui/Validate.js demo体验狠狠地 ...

  4. 手写表单及h5表单验证举例

    表单是一个很重要的概念,这里涉及到收集数据以及验证数据,以及表单的用户体验.一般ui框架会有封装好的这些功能. 这里复习一下手写表单,顺带复习一下表单的基本属性,基本样式和h5的表单验证. 一个表单基 ...

  5. js table 生成序号_el-table树形表格表单验证,js树形列表生成序号

    树形表格表单验证预览 树形列表生成序号 首先需要生成一个序号用来确定表单验证的目标row,通过广度优先遍历,以1,1.1,1.1.1的规则对树形列表生成确定唯一值的索引,因为列表自身可以做CURD,因 ...

  6. js table 生成序号_el-table树形表格表单验证(列表生成序号)

    树形表格表单验证预览 树形列表生成序号 首先需要生成一个序号用来确定表单验证的目标row,通过广度优先遍历,以1,1.1,1.1.1的规则对树形列表生成确定唯一值的索引,因为列表自身可以做CURD,因 ...

  7. JavaScript常用表单验证

    JavaScript常用表单验证 目录: 1:js 字符串长度限制.判断字符长度 .js限制输入.限制不能输入.textarea 长度限制 2.:js判断汉字.判断是否汉字 .只能输入汉字 3:js判 ...

  8. [JAVA EE] Thymeleaf 高级用法:模板布局,带参数的引用片段,表单验证,常用校验注解

    模板布局 公共部分通常定义为模板布局:如页眉,页脚,公共导航栏.菜单等. 模板布局定义方法 布局页中用 th:fragment 定义模板片段,其他页面用 th:insert 引用片段 例如:foote ...

  9. float js 正则 验证_使用HTML和Vuejs进行表单验证

    他们说大多数网络应用只是HTML表单.好吧,表单需要验证,谢天谢地,HTML5带有许多优秀的内置表单验证功能,可用于电子邮件,数字,最大值,分钟等.您甚至可以使用模式编写自己的验证规则.在本文中,我将 ...

最新文章

  1. oracle10g ora 29702,ORA-29702,请帮助一下。
  2. mAP@.5 含义:
  3. pytorch转caffe
  4. 第五章5.1 strace
  5. spring boot 缓存_SpringBoot 应用 Redis 声明式缓存
  6. 谷歌搜索和谷歌站内搜索
  7. 深入理解Kafka(3)-Consumer
  8. jQuery就业课系列之.jQueryDOM
  9. 如何使用firefox适用于javascript的debugger命令
  10. nodejs mysql 连接池初始化_nodejs之mysql连接池
  11. Dynamic Data Web Application编译是报GetActionPath调用模糊解决办法
  12. linux+系统优化基础,linux系统优化基础
  13. python调用matlab绘图_python初步调用MATLAB及网址存档
  14. 星巴克——最单纯的SNS应用
  15. 大一c语言要学什么,c语言学习计划
  16. process下载与使用
  17. 对接海康威视监控-hls实现h5播放
  18. 汉诺塔 java 递归_如何实现java汉诺塔递归算法
  19. 【凡是过去 皆为序章】 回顾一年前的学习心得记录
  20. 大规模定制的实现方法

热门文章

  1. 逾期了,如何消除不良记录?
  2. 有法院被执行人记录还能贷款吗?
  3. Python Django框架根据模型不能新建表
  4. qt开发环境 - c++类
  5. layui 金额数据千分位_IG神秘打野韩服数据,盲僧数据或暗示英雄池问题
  6. 新一代人工智能发展规划_助力人工智能创新发展,新华三任合肥市新一代人工智能产业发展联盟理事单位...
  7. git 32位_编译64位的BorderlessGaming
  8. 14英寸电脑长宽多少_连接4K显示器流行,带雷电3雷电4接口的笔记本要多少钱?...
  9. mysql5.7.17配置_mysql-5.7.17-winx64的安装配置
  10. 注释代码c语言,C/C++ 源文件删除注释代码