jQuery.Validate校验验证-说明
转载请注明来源:http://blog.csdn.net/yjflinchong/article/details/8481014
我来说一下 校验表单 的关键字 以及意义。jQuery.Validate自带的:
required: "必选字段",
remote: "请修正该字段",
email: "请输入正确格式的电子邮件",
url: "请输入合法的网址",
date: "请输入合法的日期",
dateISO: "请输入合法的日期 (ISO).",
number: "请输入合法的数字",
digits: "只能输入整数",
creditcard: "请输入合法的信用卡号",
equalTo: "请再次输入相同的值",
accept: "请输入拥有合法后缀名的字符串",
maxlength: jQuery.format("请输入一个长度最多是 {0} 的字符串"),
minlength: jQuery.format("请输入一个长度最少是 {0} 的字符串"),
rangelength: jQuery.format("请输入一个长度介于 {0} 和 {1} 之间的字符串"),
range: jQuery.format("请输入一个介于 {0} 和 {1} 之间的值"),
max: jQuery.format("请输入一个最大为 {0} 的值"),
min: jQuery.format("请输入一个最小为 {0} 的值")
自定义的验证函数。不能输入中文
//自定义检验数字和字母
jQuery.validator.addMethod("chrnum", function(value, element) {
var chrnum = /^([a-zA-Z0-9]+)$/;
return this.optional(element) || (chrnum.test(value));
}, "只能输入数字和字母(字符A-Z, a-z, 0-9)");
使用方法:
EnglishName : {
validChar : true,
required : true,
chrnum : true,
maxlength : 50
},
用正则可以自定义校验规则。
这个可以提供给新手查看。
找了很大一圈,终于解决了这个中文乱码问题。直接看源码:
/** * init Openfire User via httpRequest dml@2012.9.14 * * @param url */ private static void httpExecute(String url) { // 构造HttpClient的实例 HttpClient httpClient = new HttpClient(); // 设置 Http 连接超时为5秒 httpClient.getHttpConnectionManager().getParams() .setConnectionTimeout(5000); // 创建post方法的实例 PostMethod postMethod = new PostMethod(url); // 处理中文乱码 dml@2013.1.7 postMethod.getParams().setParameter( HttpMethodParams.HTTP_CONTENT_CHARSET, "utf-8"); // 设置请求超时为 5 秒 postMethod.getParams().setParameter(HttpMethodParams.SO_TIMEOUT, 5000); // 使用系统提供的默认的恢复策略 postMethod.getParams().setParameter(HttpMethodParams.RETRY_HANDLER, new DefaultHttpMethodRetryHandler()); try { // 执行postMethod int statusCode = httpClient.executeMethod(postMethod); if (statusCode != HttpStatus.SC_OK) { log.warning("Method failed: " + postMethod.getStatusLine()); } // 读取内容 ,第一种方式获取 byte[] responseBody = postMethod.getResponseBody(); // 处理内容 log.info(new String(responseBody)); } catch (HttpException e) { // 发生致命的异常,可能是协议不对或者返回的内容有问题 log.info("Please check your provided http address!"); e.printStackTrace(); } catch (IOException e) { // 发生网络异常 e.printStackTrace(); } finally { // 释放连接 postMethod.releaseConnection(); } }
传入参数url:
String HttpRequestURL = "http://127.0.0.1:9090/userservice?type=add&username="+ username + "&password=" + encryptedPassword + "&name=" + URLEncoder.encode(name, "UTF-8");
总结:
1.url中汉字进行URLEncoder.encode(xxxx, "UTF-8")处理;(处理后url:http://127.0.0.1:9090/userservice?type=add&username=lh&password=lh&name=%E6%9D%4E%E6%8D%8E)
2.设置编码格式postMethod.getParams().setParameter(HttpMethodParams.HTTP_CONTENT_CHARSET, "utf-8")。
dml@2013.1.8
(1)邮槽是根据广播通信体系设计出来的,它采用无连接的不可靠的数据传输。
(2)邮槽采用一种单向通信机制,创建邮槽的服务器进程读取数据,打开邮槽的客户端进程写入数据。
(3)为保证邮槽在各种windows平台上都能正常工作,我们在传输消息时,应将消息的长度限制在424字节一下。
(4)利用邮槽可以建立一个简单的会议通知模型,会议发起者使用客户端,会议接收者使用服务器端即可
二、代码分析1.服务器端
void CMailslotSrvView::OnRecv()
{
// TODO: Add your command handler code here
HANDLE hMaislot;
//创建邮槽
hMaislot = ::CreateMailslot(_T("\\\\.\\mailslot\\MyMailslot"),0,MAILSLOT_WAIT_FOREVER,NULL);
if (INVALID_HANDLE_VALUE == hMaislot)
{
::MessageBox(m_hWnd,_T("创建邮槽失败"),_T("错误"),MB_OK);
return;
}
char buf[100];
DWORD dwRead;
//读取数据
if (!ReadFile(hMaislot,buf,100,&dwRead,NULL))
{
::MessageBox(m_hWnd,_T("读取数据失败"),_T("错误"),MB_OK);
CloseHandle(hMaislot);
return;
}
::MessageBox(m_hWnd,(LPCTSTR)buf,_T("提示"),MB_OK);
CloseHandle(hMaislot);
}
2.客户端
void CMailslotCltView::OnSend()
{
// TODO: Add your command handler code here
HANDLE hMailslot;
//打开邮槽
hMailslot = ::CreateFile((LPCTSTR)_T("\\\\.\\mailslot\\MyMailslot"),GENERIC_WRITE,FILE_SHARE_READ,
NULL,OPEN_EXISTING,
FILE_ATTRIBUTE_NORMAL,NULL);
if (INVALID_HANDLE_VALUE == hMailslot)
{
::MessageBox(m_hWnd,_T("邮槽打开失败"),_T("错误"),MB_OK);
return;
}
char buf[] = "http://www.sunxin.org";
DWORD dwWrite;
//写入数据
if (!WriteFile(hMailslot,buf,strlen(buf)+1,&dwWrite,NULL))
{
::MessageBox(m_hWnd,_T("写入数据失败"),_T("错误"),MB_OK);
CloseHandle(hMailslot);
return;
}
CloseHandle(hMailslot);
}
3.需要掌握的函数
(1)CreateMailslot