标签:rtl 解决 blank 情况 最好 log ati 拿来主义 path
实际项目开发中与用户交互的常见手法就是採用表单的形式。取得用户注冊、登录等信息。而当用户注冊或登录后又须要记住用户的登录状态。这就涉及到经常使用的两个操作:表单验证与cookie增删查找。
项目开发当然能够手动或用原生代码解决以上两个问题,而最好的实践应该是站在巨人的肩膀上。从合理性猜測角度和不反复造轮子的原则上,都应该对成熟的技术,实行拿来主义,更加高速、高效、稳定的将精力放在项目逻辑实现上。
一、表单验证插件(jQuery Validate)
官方描写叙述:仅仅须要一行来选择表单而且应用validation插件,在每一个元素上加上一些附注来指定有效规则。
jQuery Validate能够将验证规则写到表单的内部表单项中。但这样并没有实现行为与结构的分离,可读性不好,耦合性高。通常会採用name属性来关联字段和验证规则的验证写法。
首先我们来创建表单:
<form class="cmxform" id="commentForm" method="get" action=""> <fieldset> <legend>一个简单的验证带验证提示的评论样例</legend> <p> <label for="cusername">姓名</label> <em>*</em><input id="cusername" name="username" size="25" /> </p> <p> <label for="cemail">电子邮件</label> <em>*</em><input id="cemail" name="email" size="11" /> </p> <p> <label for="mobile">手机</label> <em>*</em><input id="cmobile" name="mobile" size="25" /> </p> <p> <label for="curl">网址</label> <em> </em><input id="curl" name="url" size="25" value="" /> </p> <p> <label for="ccomment">你的评论</label> <em>*</em><textarea id="ccomment" name="comment" cols="22"></textarea> </p> <p> <input class="submit" type="submit" value="提交"/> </p> </fieldset> </form>
$("#commentForm").validate({ // 验证规则 rules: { mobile: { required: true, isMobile:true }, username: { required: true, minlength: 2 }, email: { required: true, email: true }, url:"url", comment: "required" }, // 提示信息 messages:{ mobile: { required: "手机号不能为空", minlength: "手机号至少为11位" }, username:{ required:"用户名不能为空", minlength: "用户名至少为两位" }, email: { required: "邮箱不能为空", email: "请输入正确邮箱格式" }, url:"请输入正确url格式", comment: "评论不能为空" } });
两部分信息内部。又依据表单中表单项name属性关联详细验证规则。
例如以下图:
jQuery.validator.addMethod("isMobile", function(value, element){ var length = value.length; return length == 11 && /^[1][3-8]\d{9}$/.test(value); }, "请填写正确的手机号码");
mobile: { required: true, isMobile:true }二、cookie插件的使用
用户名:<input type="text" name="username" id="username"/> <br/> <input type="checkbox" name="check" id="check"/>记住用户名对应脚本:
var COOKIE_NAME = 'username'; if( $.cookie(COOKIE_NAME) ){//取出cookie值 $("#username").val( $.cookie(COOKIE_NAME) ); } $("#check").click(function(){ if(this.checked){ $.cookie(COOKIE_NAME, $("#username").val() , { path: '/', expires: 10 }); }else{ $.cookie(COOKIE_NAME, null, { path: '/' });//删除cookie值。将值设为null就可以 } });//通过记录是否点选单选钮,是否将数据存入cookie
前端编程提高之旅(十)----表单验证插件与cookie插件
标签:rtl 解决 blank 情况 最好 log ati 拿来主义 path
原文地址:http://www.cnblogs.com/gccbuaa/p/7220311.html