使用Jquery Validation 验证控件能更加容易对表单进行校验,下面是我个人使用它的一些总结:
首先需要导入js文件,可去官网下载 https://jqueryvalidation.org/。
常用的校验方式如下:
<script type="text/javascript">
$().ready(function() {
$("#signupForm").validate({
rules: {
firstname: "required",
email: {
required: true,
email: true
},
password: {
required: true,
minlength: 5
},
confirm_password: {
required: true,
minlength: 5,
equalTo: "#password"
}
},
messages: {
password: {
minlength: jQuery.format("密码不能小于{0}个字 符")
}
}
});
});
</script>
<form id="signupForm" method="get">
<p>
<label for="firstname">Firstname</label>
<input id="firstname" name="firstname" />
</p>
<p>
<label for="email">E-Mail</label>
<input id="email" name="email" />
</p>
<p>
<label for="password">Password</label>
<input id="password" name="password" type="password" />
</p>
<p>
<label for="confirm_password">确认密码</label>
<input id="confirm_password" name="confirm_password" type="password" />
</p>
<p>
<input class="submit" type="submit" value="Submit"/>
</p>
</form>
使用errorPlacement,更改错误信息显示的位置
默认如下,即把错误信息放在验证的元素后面
errorPlacement: function(error, element) {
error.appendTo(element.parent());
}
进行修改:
$().ready(function() {
$("#signupForm").validate({
errorPlacement: function(error, element) {
if ( element.is(":radio") )
error.appendTo( element.parent().next().next() );
else if ( element.is(":checkbox") )
error.appendTo ( element.next() );
else error.appendTo( element.parent().next() );
}
}
}
<form id="signupForm" method="get">
<tr>
<td class="label"><label id="lfirstname" for="firstname">First Name</label></td>
<td class="field"><input id="firstname" name="firstname" type="text" value="" maxlength="100" /></td>
<td class="status"></td>
</tr>
<tr>
<td style="padding-right: 5px;">
<input id="dateformat_eu" name="dateformat" type="radio" value="0" />
<label id="ldateformat_eu" for="dateformat_eu">14/02/07</label>
</td>
<td style="padding-left: 5px;">
<input id="dateformat_am" name="dateformat" type="radio" value="1" />
<label id="ldateformat_am" for="dateformat_am">02/14/07</label>
</td>
<td></td>
</tr>
<tr>
<td class="label"> </td>
<td class="field" colspan="2">
<div id="termswrap">
<input id="terms" type="checkbox" name="terms" />
<label id="lterms" for="terms">I have read and accept the Terms of Use.</label>
</div>
</td>
</tr>
</form>
更改错误信息显示的样式
设置错误提示的样式,可以增加图标显示,在该系统中已经建立了一个默认的validation.css专门用于维护校验文件的样式
input.error { border: 1px solid red; }
label.error {
background:url("./demo/images/unchecked.gif") no-repeat 0px 0px;
padding-left: 16px;
padding-bottom: 2px;
font-weight: bold;
color: #EA5200;
}
//校验成功时的class值必须为valid
label.valid {
background:url("./demo/images/checked.gif") no-repeat 0px 0px;
}
每个字段验证通过执行函数:
success:String,Callback,要验证的元素通过验证后的动作,如果跟一个字符串,会当做一个css类,也可跟一个函数
success:"valid"
success: function(label) {
// set as text for IE
label.html(" ").addClass("valid");
//label.addClass("valid").text("Ok!")
}
使用ajax进行异步验证:
remote: "check-email.php"
remote: {
url: "check-email.php", //后台处理程序
type: "post", //数据发送方式
dataType: "json", //接受数据格式
data: { //要传递的数据
username: function() {
return $("#username").val(); //不能直接写字符串 "$("#username").val()"
}
}
}
点击查看更多内容
1人点赞
评论
共同学习,写下你的评论
评论加载中...
作者其他优质文章
正在加载中
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦