EasyUI表单验证

视频课:https://edu.csdn.net/course/play/7621

EasyUI的form表单里面的验证框,先讲解下validatebox类和相关的属性。


验证规则

验证规则是通过使用 required 和 validType 特性来定义的, 这里是已经实施的规则:

  • email:匹配 email 正则表达式规则,系统提供的属性。
  • url:匹配 URL 正则表达式规则
  • length[0,100]:允许从 x 到 y 个字符
  • remote['http://.../action.do','paramName']:发送 ajax 请求来验证值,成功时返回 'true' 。

要自定义验证规则,重写 $.fn.validatebox.defaults.rules ,来定义一个验证函数和无效的信息。例如,定义一个 minLength 验证类型:


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

2.      minLength: {   

3.          validator: function(value, param){   

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

5.          },   

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

7.      }   

8.  });



特性

名称

类型

说明

默认值

required

boolean

定义是否字段应被输入。

false

validType

string

定义字段的验证类型,比如 email、url,等等。

null

missingMessage

string

当文本框是空时出现的提示文字。

This field is required.

invalidMessage

string

当文本框的内容无效时出现的提示文字。

null

方法

名称

参数

说明

destroy

none

移除并且销毁这个组件。

validate

none

进行验证以判定文本框的内容是否有效。

isValid

none

调用 validate 方法并且返回验证结果,true 或者 false。



<div id="userReg" class="easyui-panel" style="width:400px; height:300px;" title="注册用户">              <form action="" method="post">                  <table>                      <tr>                          <td>用户名:</td>                          <td><input type="text" name="username" class="easyui-validatebox" required=true                           validType="midLength[4,10]" value=""/></td>                      </tr>                      <tr>                          <td>密码:</td>                          <td><input type="text" name="password" class="easyui-validatebox" required=true validType="pwdLength[8]" value=""/></td>                      </tr>                      <tr>                          <td>性别:</td>                          <td>                              <input type="radio" name="sex" checked="checked" value="male"/>男                              <input type="radio" name="sex" value="female"/>女                          </td>                      </tr>                       <tr>                            <td>年龄:</td>                            <td><input type="text" name="age" id="age" class="easyui-numberbox" value=""/></td>                        </tr>                        <tr>                            <td>出生日期:</td>                            <td><input type="text" style="width:160px"name="birth" id="birthday" class="easyui-datebox" value=""/></td>                        </tr>                            <tr>                            <td>所属城市:</td>                            <td><input type="text" name="city" class="easyui-combobox" valueField="id"                        <span style="white-space:pre">	</span>url="combo_data.json" textField="name" value=""/></td>                        </tr>                            <tr>                            <td>开始时间:</td>                            <td><input type="text" id="startTime" name="startTime" class="easyui-datetimebox" value=""/></td>                        </tr>                    </tr>                            <tr>                            <td>结束时间:</td>                            <td><input type="text" id="endTime" name="endTime" class="easyui-datetimebox" value=""/></td>                        </tr>                        <tr>                            <td colspan="2">                                <a class="easyui-linkbutton">保存</a>                            </td>                        </tr>                    </table>              </form>          </div>


<script type="text/javascript">		$(function(){			$.extend($.fn.validatebox.defaults.rules,{			midLength:{			validator:function(value, param){			return value.length >= param[0] && value.length<=param[1];			},			message: '用户名必须在4到10位之间!'  			},			pwdLength:{			   		validator:function(value,param){			   			return value.length==param[0];			   		},			   		message:'密码必须是8位'			}			});
//数值验证控件;            $('#age').numberbox({            <span style="white-space:pre">	</span>min:0, //输入负数,变成0            <span style="white-space:pre">	</span>max:150,//输入大于150,变成150            <span style="white-space:pre">	</span>required:true,            <span style="white-space:pre">	</span>missingMessage:'年龄必填',            <span style="white-space:pre">	</span>precision:0            });   <span style="white-space:pre">			</span>//日期验证控件;            $('#birthday').datebox({            <span style="white-space:pre">	</span>required:true,            <span style="white-space:pre">	</span>missingMessage:'日期必填!',            <span style="white-space:pre">	</span>editable:false            });            //验证开始时间和结束时间;            $('#startTime,#endTime').datetimebox({            <span style="white-space:pre">	</span>required:true,            <span style="white-space:pre">	</span>missingMessage:'时间必填',            <span style="white-space:pre">	</span>editable:false            });	});	</script>



参考图片如下:


EasyUI表单验证


Number数字框

特性

其特性扩展自 validatebox,下列是为 numberbox 增加的特性。

名称

类型

说明

默认值

disabled

boolean

定义是否禁用该域。

false

min

number

允许的最小值。

null

max

number

允许的最大值。

null

precision

number

显示在小数点后面的最大精度。

0

方法

其方法扩展自 validatebox,下列是为 numberbox 追加或重写的方法。

名称

参数

说明

disable

none

禁用该域。

enable

none

启用该域。

fix

none

把值固定为有效的值。

日期框

依赖

  • combo
  • calendar

特性

其特性扩展自 combo,下列是为 datebox 增加的特性。

名称

类型

说明

默认值

panelWidth

number

下拉日历面板的宽度。

180

panelHeight

number

下拉日历面板的高度。

auto

currentText

string

当前日期按钮上显示的文字。

Today

closeText

string

关闭按钮上显示的文字。

Close

okText

string

确定按钮上显示的文字。

Ok

disabled

boolean

为 true 时禁用该域。

false

formatter

function

格式化日期的函数,此函数有一个 'date' 参数,并返回一个字符串值。


parser

function

解析日期字符串的函数,此函数有一个 'date' 字符串参数,并返回一个日期值。


事件

名称

参数

说明

onSelect

date

当用户选择一个日期时触发。

方法

其方法扩展自 combo,下列是为 datebox 重写的方法。

名称

参数

说明

options

none

返回 options 对象。

calendar

none

获取 calendar 对象。

setValue

value

设置 datebox 的值。

ateTimeBox  日期时间框

依赖

  • datebox
  • timespinner


特性

其特性扩展自 datebox,下列是为 datetimebox 增加的特性。

名称

类型

说明

默认值

showSeconds

boolean

定义是否显示秒的信息。

true

方法

其方法扩展自 datebox,下列是为 datetimebox 重写的方法。

名称

参数

说明

options

none

返回 options 对象。

spinner

none

返回 timespinner 对象。

setValue

value

设置 datetimebox 的值。




EasyUI表单验证

EasyUI表单验证


上一篇:记录使用easyui mvc项目实施过程


下一篇:jQuery EasyUI数据表格之一