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

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:[email protected]

转载请注明来源: 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

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

时间: 2024-11-03 03:25:22

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

atittit.表单验证的实现方式以及原理本质以及选型以及自定义兼容easyui dsl规则的表单验证

atittit.表单验证的实现方式以及原理本质以及选型以及自定义兼容easyui dsl规则的表单验证 1. 需求,表单验证需要弹框式,但目前easyui ms绑定死了tooltip式样 1 2. 表单验证表现形式 1 2.1. 弹框 1 2.2. 浮动tooltip,推荐这个 1 3. 表单验证的实现原理 1 3.1. 定义reg 2 3.2. 解释 2 3.3. 调用提示... 2 4. 表单验证框架选型easyui>ligerui 2 4.1. ligerui的表单验证选型... 2 4.

atittit.表单验证性质的原则和实施,以及选择和定义自己的兼容easyui dsl窗体身份验证规则

atittit.表单验证性质的原则和实施,以及选择和定义自己的兼容easyui dsl规则的表单验证 1. 需求,表单验证须要弹框式,但眼下easyui ms绑定死了tooltip式样 1 2. 表单验证表现形式 1 2.1. 弹框 1 2.2. 浮动tooltip.推荐这个 1 3. 表单验证的实现原理 1 3.1. 定义reg 2 3.2. 解释 2 3.3. 调用提示. .. 2 4. 表单验证框架选型easyui>ligerui 2 4.1. ligerui的表单验证选型. .. 2 4

python_way day14 HTML-day5 (form表单验证,)

python-way day19 1. dJango的form表单验证 一,django表单验证功能 1.django验证基础: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>django form</title> </head> <body> <div> <i

Django基础之Form表单验证

Form表单验证 1.创建Form类(本质就是正则表达式的集合) from django.forms import Form from django.forms import fields from django.forms import widgets from Mybbs.models import * import re class UserForm(Form): username = fields.CharField( required=True, error_messages={'re

jQuery html5Validate基于HTML5表单验证插件

一.前言 前3篇文章实际都是为本文做铺垫的,如果以下棋表示,前三篇是普通走棋,本篇是将军! 目前市面上有不少表单验证插件,看似强大,实在糟糕! 总结下,有以下一些问题: 过多干预包括:改变了表单元素UI, 为表单元素绑定过多事件等 布局等限制包括:需要特定结构的布局,需要特定的类名或者ID 学习成本包括:N多元作者自定义的属性,或者自定义的特定的数据结构 可用性 当JS出现错误的时候而无法正常运作的时候,验证就是聋子的耳朵——摆设,即使在现代浏览器下也是如此. 面向未来的表单验证 验证驱动验证信

python :表单验证--对每一个输入框进行验证

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta charset="UTF-8"/> <title>Title</title> <style> .error{ color

jquery插件,表单验证validation plugin的使用

笔记: 一.首先引入插件 <script type="text/javascript" src="js/jquery-1.10.0.js" ></script> <script type="text/javascript" src="js/jquery.validate-1.13.1.js" ></script> 列子:一个简单的登录表单验证 1 <form id=&quo

AngularJs 表单验证

看到一些博客说这个框架要过时了,但是还是学习了下,觉的很方便的一个框架,有空的同学可以看看,适合我们入门看,比较基础. 对于日常的开发来说,最常见的开发场景就是通过表单编辑数据,这里涉及的问题就是验证问题. angularjs 内置已经支持了常见的验证方式,可以轻松实现表单验证. 1. 绑定 为了方便,我们在 $scope 上下文对象上创建一个 model 来表示我们编辑的内容. $scope.model = { id : 8, name: "alice", email: "

表单验证&amp;lt;AngularJs&amp;gt;

经常使用的表单验证指令 1. 必填项验证 某个表单输入是否已填写,仅仅要在输入字段元素上加入HTML5标记required就可以: <input type="text" required />   2. 最小长度 验证表单输入的文本长度是否大于某个最小值,在输入字段上使用指令ng-minleng= "{number}": <input type="text" ng-minlength="5" /> 3.