jquery.validate.js表單驗證
創(chuàng)新互聯(lián)建站專注為客戶提供全方位的互聯(lián)網(wǎng)綜合服務,包含不限于成都網(wǎng)站建設、網(wǎng)站制作、繁昌網(wǎng)絡推廣、成都小程序開發(fā)、繁昌網(wǎng)絡營銷、繁昌企業(yè)策劃、繁昌品牌公關、搜索引擎seo、人物專訪、企業(yè)宣傳片、企業(yè)代運營等,從售前售中售后,我們都將竭誠為您服務,您的肯定,是我們最大的嘉獎;創(chuàng)新互聯(lián)建站為所有大學生創(chuàng)業(yè)者提供繁昌建站搭建服務,24小時服務熱線:18982081108,官方網(wǎng)址:www.cdcxhl.com
官方網(wǎng)站:
API:
當前版本:1.5.5
需要JQuery版本:1.2.6+, 兼容 1.3.2
script src="../js/jquery.js" type="text/javascript"/script
script src="../js/jquery.validate.js" type="text/javascript"/script
(1)required:true 必輸字段
(2)remote:"check.php" 使用ajax方法調(diào)用check.php驗證輸入值
(3)email:true 必須輸入正確格式的電子郵件
(4)url:true 必須輸入正確格式的網(wǎng)址
(5)date:true 必須輸入正確格式的日期
(6)dateISO:true 必須輸入正確格式的日期(ISO),例如:2009-06-23,1998/01/22 只驗證格式,不驗證有效性
(7)number:true 必須輸入合法的數(shù)字(負數(shù),小數(shù))
(8)digits:true 必須輸入整數(shù)
(9)creditcard: 必須輸入合法的信用卡號
(10)equalTo:"#field" 輸入值必須和#field相同
(11)accept: 輸入擁有合法后綴名的字符串(上傳文件的后綴)
(12)maxlength:5 輸入長度最多是5的字符串(漢字算一個字符)
(13)minlength:10 輸入長度最小是10的字符串(漢字算一個字符)
(14)rangelength:[5,10] 輸入長度必須介于 5 和 10 之間的字符串")(漢字算一個字符)
(15)range:[5,10] 輸入值必須介于 5 和 10 之間
(16)max:5 輸入值不能大于5
(17)min:10 輸入值不能小于10
例子:自定義密碼驗證的規(guī)則
這里提供兩個牛B的常用的jQuery表單驗證插件:
1、實例講解表單驗證插件Validation的應用
2、Validetta : 輕量級的表單驗證工具
在表單提交前進行驗證的幾種方式 .
在Django中,為了減輕后臺壓力,可以利用JavaScript在表單提交前對表單數(shù)據(jù)進行驗證。下面提供了有效的幾種方式(每個.html文件為一種方式)。
formpage1.html
復制代碼 代碼如下:
!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" ""
html xmlns=""
head
meta http-equiv="Content-Type" content="text/html; charset=utf-8" /
titleExample1/title
script type="text/javascript" src="/Resource/jquery-1.4.1.js"/script
script type="text/javascript"
function jump()
{
//清空表單所有數(shù)據(jù)
document.getElementById("firstname").value=""
document.getElementById("lastname").value=""
$("#firstnameLabel").text("")
$("#lastnameLabel").text("")
}
$(document).ready(function(){
$("#form1").bind("submit", function(){
var txt_firstname = $.trim($("#firstname").attr("value"))
var txt_lastname = $.trim($("#lastname").attr("value"))
$("#firstnameLabel").text("")
$("#lastnameLabel").text("")
var isSuccess = 1;
if(txt_firstname.length == 0)
{
$("#firstnameLabel").text("firstname不能為空!")
$("#firstnameLabel").css({"color":"red"});
isSuccess = 0;
}
if(txt_lastname.length == 0)
{
$("#lastnameLabel").text("lastname不能為空!")
$("#lastnameLabel").css({"color":"red"});
isSuccess = 0;
}
if(isSuccess == 0)
{
return false;
}
})
})
/script
/head
body
提交表單前進行驗證(方法一)
hr width="40%" align="left" /
form id="form1" method="post" action="/DealWithForm1/"
table
tr
tdfirst_name:/td
tdinput name="firstname" type="text" id="firstname" //td
tdlabel id="firstnameLabel"/label/td
/tr
tr
tdlast_name:/td
tdinput name="lastname" type="text" id="lastname" //td
tdlabel id="lastnameLabel"/label/td
/tr
/table
hr width="40%" align="left" /
button type="submit"提交/button
button type="button" onclick="jump();"取消/button
/form
/body
/html
formpage2.html
復制代碼 代碼如下:
!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" ""
html xmlns=""
head
meta http-equiv="Content-Type" content="text/html; charset=utf-8" /
titleExample2/title
script type="text/javascript" src="/Resource/jquery-1.4.1.js"/script
script type="text/javascript"
function jump()
{
//清空表單所有數(shù)據(jù)
document.getElementById("firstname").value=""
document.getElementById("lastname").value=""
$("#firstnameLabel").text("")
$("#lastnameLabel").text("")
}
function check(){
var txt_firstname = $.trim($("#firstname").attr("value"))
var txt_lastname = $.trim($("#lastname").attr("value"))
$("#firstnameLabel").text("")
$("#lastnameLabel").text("")
var isSuccess = 1;
if(txt_firstname.length == 0)
{
$("#firstnameLabel").text("firstname不能為空!")
$("#firstnameLabel").css({"color":"red"});
isSuccess = 0;
}
if(txt_lastname.length == 0)
{
$("#lastnameLabel").text("lastname不能為空!")
$("#lastnameLabel").css({"color":"red"});
isSuccess = 0;
}
if(isSuccess == 0)
{
return false;
}
return true;
}
/script
/head
body
提交表單前進行驗證(方法二)
hr width="40%" align="left" /
form id="form1" method="post" action="/DealWithForm1/" onsubmit="return check()"
table
tr
tdfirst_name:/td
tdinput name="firstname" type="text" id="firstname" //td
tdlabel id="firstnameLabel"/label/td
/tr
tr
tdlast_name:/td
tdinput name="lastname" type="text" id="lastname" //td
tdlabel id="lastnameLabel"/label/td
/tr
/table
hr width="40%" align="left" /
button type="submit"提交/button
button type="button" onclick="jump();"取消/button
/form
/body
/html
formpage3.html
復制代碼 代碼如下:
!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" ""
html xmlns=""
head
meta http-equiv="Content-Type" content="text/html; charset=utf-8" /
titleExample3/title
script type="text/javascript" src="/Resource/jquery-1.4.1.js"/script
script type="text/javascript"
function jump()
{
//清空表單所有數(shù)據(jù)
document.getElementById("firstname").value=""
document.getElementById("lastname").value=""
$("#firstnameLabel").text("")
$("#lastnameLabel").text("")
}
function checktosubmit(){
var txt_firstname = $.trim($("#firstname").attr("value"))
var txt_lastname = $.trim($("#lastname").attr("value"))
$("#firstnameLabel").text("")
$("#lastnameLabel").text("")
var isSuccess = 1;
if(txt_firstname.length == 0)
{
$("#firstnameLabel").text("firstname不能為空!")
$("#firstnameLabel").css({"color":"red"});
isSuccess = 0;
}
if(txt_lastname.length == 0)
{
$("#lastnameLabel").text("lastname不能為空!")
$("#lastnameLabel").css({"color":"red"});
isSuccess = 0;
}
if(isSuccess == 1)
{
form1.submit();
}
}
/script
/head
body
提交表單前進行驗證(方法三)
hr width="40%" align="left" /
form id="form1" method="post" action="/DealWithForm1/"
table
tr
tdfirst_name:/td
tdinput name="firstname" type="text" id="firstname" //td
tdlabel id="firstnameLabel"/label/td
/tr
tr
tdlast_name:/td
tdinput name="lastname" type="text" id="lastname" //td
tdlabel id="lastnameLabel"/label/td
/tr
/table
hr width="40%" align="left" /
button type="button" onclick="checktosubmit()"提交/button
button type="button" onclick="jump();"取消/button
/form
/body
/html
以下是視圖函數(shù)、URL配置以及相關設置
--------------------------------------------------------------------------------
--------------------------------------------------------------------------------
views.py
復制代碼 代碼如下:
#coding: utf-8
from django.http import HttpResponse
from django.shortcuts import render_to_response
def DealWithForm1(request):
if request.method=="POST":
FirstName=request.POST.get('firstname','')
LastName=request.POST.get('lastname','')
if FirstName and LastName:
response=HttpResponse()
response.write("htmlbody"+FirstName+" "+LastName+u"! 你提交了表單!/body/html")
return response
else:
response=HttpResponse()
response.write('htmlscript type="text/javascript"alert("firstname或lastname不能為空!");\
window.location="/DealWithForm1"/script/html')
return response
else:
return render_to_response('formpage1.html')
def DealWithForm2(request):
if request.method=="POST":
FirstName=request.POST.get('firstname','').encode("utf-8")
LastName=request.POST.get('lastname','').encode("utf-8")
if FirstName and LastName:
html="htmlbody"+FirstName+" "+LastName+"! 你提交了表單!"+"/body/html"
return HttpResponse(html)
else:
response=HttpResponse()
response.write('htmlscript type="text/javascript"alert("firstname或lastname不能為空!");\
window.location="/DealWithForm2"/script/html')
return response
else:
return render_to_response('formpage2.html')
def DealWithForm3(request):
if request.method=="POST":
FirstName=request.POST.get('firstname','')
LastName=request.POST.get('lastname','')
if FirstName and LastName:
response=HttpResponse()
response.write('htmlbody'+FirstName+LastName+u'! 你提交了表單!/body/html')
return response
else:
response=HttpResponse()
response.write('htmlscript type="text/javascript"alert("firstname或lastname不能為空!");\
window.location="/DealWithForm3"/script/html')
return response
else:
return render_to_response('formpage3.html')
urls.py
復制代碼 代碼如下:
from django.conf.urls.defaults import patterns, include, url
import views
from django.conf import settings
urlpatterns = patterns('',
url(r'^Resource/(?Ppath.*)$','django.views.static.serve',{'document_root':settings.STATIC_RESOURCE}),
url(r'^DealWithForm1','views.DealWithForm1'),
url(r'^DealWithForm2','views.DealWithForm2'),
url(r'^DealWithForm3','views.DealWithForm3'),
)
settings.py
復制代碼 代碼如下:
# Django settings for CheckFormBeforeSubmit project.
import os
HERE = os.path.abspath(os.path.dirname(__file__))
DEBUG = True
TEMPLATE_DEBUG = DEBUG
...
STATIC_RESOURCE=os.path.join(HERE, "resource")
...
MIDDLEWARE_CLASSES = (
'django.middleware.common.CommonMiddleware',
'django.contrib.sessions.middleware.SessionMiddleware',
'django.middleware.csrf.CsrfViewMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware',
'django.contrib.messages.middleware.MessageMiddleware',
'django.middleware.csrf.CsrfResponseMiddleware',
)
ROOT_URLCONF = 'CheckFormBeforeSubmit.urls'
TEMPLATE_DIRS = (
os.path.join(HERE,'template'),
# Put strings here, like "/home/html/django_templates" or "C:/www/django/templates".
# Always use forward slashes, even on Windows.
# Don't forget to use absolute paths, not relative paths.
)
不是jQuery需要進行表單驗證, 是網(wǎng)頁在提交數(shù)據(jù)的時候,為了減輕服務器的活,把能做的都在前端做了。
比如,用戶輸入一個手機號碼,如果該手機號碼格式是錯的,比如格式是158125238pp
然后前端人員又沒有對數(shù)據(jù)進行驗證,然后又提交到服務器那里去,很顯然這個手機號是錯的,服務器存儲這個手機號一點用處也沒有、、、
所以需要進行表單驗證
jquery判斷表單提交內(nèi)容是否為空
按照代碼就能實現(xiàn)。
簡單代碼如下:
$(document).ready(function() {
$(“form”).submit(function(){
if ($(“select[name='boardid']“).val() == “”){
alert(“對不起,請選擇類別!”);
$(“select[name='boardid']“).focus();
return false;
}
if ($(“select[name='boardid']“).val() == “請選擇分類”){
alert(“對不起,請選擇類別!”);
$(“select[name='boardid']“).focus();
return false;
}
if ($(“input[name='txtcontent']“).val() == “”){
alert(“對不起,請?zhí)顚憙?nèi)容!”)
$(“input[name='txtcontent']“).focus();
return false
}
if ($(“input[name='txtcontent']“).val().length 150){
alert(“對不起,內(nèi)容超過150個字符限制!”)
$(“input[name='txtcontent']“).focus();
return false
}})
$(“#t”).keyup(function(){
$(“.inner”).text($(“input[name='txtcontent']“).val());
}).change(function(){
$(“.inner”).text($(“input[name='txtcontent']“).val());
});
});
這里提供兩個牛B的常用的jQuery表單驗證插件:、實例講解表單驗證插件Validation的應