1)jquery  validate 远程验证remote,自定义验证

1-1: js

 <script src="YYFramework/Public/js/jquery-3.1.1.js"></script>
<script src="YYFramework/Public/js/jquery.validate.min.js"></script>
<script src="YYFramework/Public/js/jquery.form.js"></script>
<script type="text/javascript"> // 手机号码验证
$.validator.addMethod("isMobile", function(value, element) {
var length = value.length;
var mobile = /^(13[0-9]{9})|(18[0-9]{9})|(14[0-9]{9})|(17[0-9]{9})|(15[0-9]{9})$/;
return this.optional(element) || (length == 11 && mobile.test(value));
}, "请正确填写您的手机号码"); //jquery.validate表单验证
$(document).ready(function(){
//登陆表单验证
$("#registerForm").validate({
rules:{
username:{
required:true,//必填
minlength:3, //最少6个字符
maxlength:32,//最多20个字符
},
password:{
required:true,
minlength:3,
maxlength:32,
},
confirm_password: {
required: true,
minlength: 3,
maxlength:32,
equalTo: "#password"
},
phone_number: {
required: true,
isMobile: true,
remote:{
url:"action.php?c=HLogin&a=phoneNumber",
type:"post",
data: {
phone_number: function(){return $("#number").val()}
}
} }
},
//错误信息提示
messages:{
username:{
required:"必须填写用户名",
minlength:"用户名至少为3个字符",
maxlength:"用户名至多为32个字符", },
password:{
required:"必须填写密码",
minlength:"密码至少为3个字符",
maxlength:"密码至多为32个字符",
},
confirm_password: {
required: "请输入密码",
minlength:"密码至少为3个字符",
maxlength:"密码至多为32个字符",
equalTo: "两次密码输入不一致"
},
phone_number: {
required:"必须填写手机号",
isMobile: "手机号格式不正确",
remote: "手机号码已经存在"
}
}, submitHandler:function(form){
// form.submit();
$(form).ajaxSubmit({
dataType:"json",
success:function( data ){
console.log('register', data);
if( data == -1 ){
alert("注册失败");
}else{
alert("注册成功");
setTimeout("window.location.href='homeLogin.php', 1000");
}
}
}); return false;
} });
}); </script>
$(form).ajaxSubmit 用的是 jquery.form.js 的方法.

自定义手机号验证:
 6     // 手机号码验证
7 $.validator.addMethod("isMobile", function(value, element) {
8 var length = value.length;
9 var mobile = /^(13[0-9]{9})|(18[0-9]{9})|(14[0-9]{9})|(17[0-9]{9})|(15[0-9]{9})$/;
10 return this.optional(element) || (length == 11 && mobile.test(value));
11 }, "请正确填写您的手机号码");

1-2: html:

 <div class="register-container">
<h1>欢迎注册!</h1> <div class="connect">
<p></p>
</div> <form action="action.php?c=HLogin&a=register" method="post" id="registerForm">
<div>
<input type="text" name="username" class="username" placeholder="您的用户名" autocomplete="off"/>
</div>
<div>
<input type="password" name="password" class="password" id="password" placeholder="输入密码" oncontextmenu="return false" onpaste="return false" />
</div>
<div>
<input type="password" name="confirm_password" class="confirm_password" placeholder="再次输入密码" oncontextmenu="return false" onpaste="return false" />
</div>
<div>
<input type="text" name="phone_number" class="phone_number" placeholder="输入手机号码" autocomplete="off" id="number"/>
</div>
<!-- <div>
<input type="email" name="email" class="email" placeholder="输入邮箱地址" oncontextmenu="return false" onpaste="return false" />
</div> --> <button id="submit" type="submit">注 册</button>
</form>
<a href="homeLogin.php">
<button type="button" class="register-tis">已经有账号?</button>
</a> </div>

1-3: 服务器端.

1-3-1: 注册:action="action.php?c=HLogin&a=register"

     public function registerAction()
{
$userName = $_REQUEST["username"];
$loginName = $userName;
$password = $_REQUEST["password"];
$iphone = $_REQUEST["phone_number"]; $UserModel = new UserModel();
$UserModel->userName = $userName;
$UserModel->loginName = $loginName;
$UserModel->password = $password;
$UserModel->pic = '';
$UserModel->iphone = $iphone;
$UserModel->lastUpdateTime = time();
echo json_encode($UserModel->insert());
}

1-3-2: 远程验证 手机号是否重复.url:"action.php?c=HLogin&a=phoneNumber",

    /**
* [phoneNumberAction 验证手机号码是否重复]
* @return [type] [description]
*/
public function phoneNumberAction()
{
$phone = $_REQUEST["phone_number"]; $UserModel = new UserModel();
$UserModel->getDataRow( " where iphone = $phone "); if ($UserModel->getDB) {
echo json_encode(false);
} else {
echo json_encode(true);
} }

注意 这里返回的是 :  json_encode(false) 表示有重复的号码;   必须是json_encode(true)  ,是json格式.

2)bootstrapvalidate 远程remote验证的方法

2-1:js

         //表单验证
base.userForm = function(){
//验证字段
var fields = {
'userName':{message :'姓名验证失败!',validators:{notEmpty:{message:'姓名不能为空'}}},
'loginName':{
message :'登录名验证失败!',
validators:{
notEmpty:{
message:'登录名不能为空'
},
remote: {//ajax验证。server result:{"valid",true or false} 向服务发送当前input name值,获得一个json数据。例表示正确:{"valid",true}
url: 'action.php?c=HLogin&a=loginName2',//验证地址
message: '登录名已存在',//提示消息
delay : 1000,//每输入一个字符,就发ajax请求,服务器压力还是太大,设置2秒发送一次ajax(默认输入一个字符,提交一次,服务器压力太大)
type: 'POST',
data: function(validator) {
return {
loginName: $('#loginName_0').val()
};
} }
}
},
'password':{
message :'登陆密码验证失败!',
validators:{
notEmpty:{
message:'登陆密码不能为空'
},
identical: {
field: 'cpassword',
message: '确认密码与密码不一致'
} }
},
'cpassword':{
message :'确认密码验证失败!',
validators:{
notEmpty:{
message:'确认密码不能为空'
},
identical: {
field: 'password',
message: '确认密码与密码不一致'
} }
},
'iphone':{
message :'手机号验证失败!',
validators:{
notEmpty:{
message:'手机号不能为空'
},
remote: {//ajax验证。server result:{"valid",true or false} 向服务发送当前input name值,获得一个json数据。例表示正确:{"valid",true}
url: 'action.php?c=HLogin&a=phoneNumber2',//验证地址
message: '手机号已存在',//提示消息
delay : 1000,//每输入一个字符,就发ajax请求,服务器压力还是太大,设置2秒发送一次ajax(默认输入一个字符,提交一次,服务器压力太大)
type: 'POST',
data: function(validator) {
return {
phone_number: $('#iphone_0').val()
};
} }
}
}
};
//添加验证
base.validate("#userForm",fields);
}

2-2: 服务器端: url: 'action.php?c=HLogin&a=phoneNumber2',//  注意返回的数据的格式.

     public function phoneNumber2Action()
{
$phone = $_REQUEST["phone_number"]; $UserModel = new UserModel();
$UserModel->getDataRow( " where iphone = $phone "); if ($UserModel->getDB) {
// $arr[""]
// echo json_encode(false);
echo '{"valid":false}';
} else {
// echo json_encode(true);
echo '{"valid":true}';
} }

必须是这种格式: {"valid":false}

1)jquery validate 远程验证remote,自定义验证 , 手机号验证 2)bootstrap validate 远程remote验证的方法.的更多相关文章

  1. jQuery Validate 插件验证,,返回不同信息(json remote)自定义

    问题 申请账号需要确认该账号是存在 jquery.validate.js中的remote Jquery Ajax获取后台返回的Json数据后,添加自定义校验 解题思路:输入的登陆信息远程验证是否该账号 ...

  2. jQuery Validate 表单验证插件----自定义一个验证方法

    一.下载依赖包 网盘下载:https://yunpan.cn/cryvgGGAQ3DSW  访问密码 f224 二.引入依赖包 <script src="../../scripts/j ...

  3. jQuery Validate 表单验证插件----自定义校验结果样式

    一.下载依赖包 网盘下载:https://yunpan.cn/cryvgGGAQ3DSW  访问密码 f224 二.引入依赖包 <script src="../../scripts/j ...

  4. jquery.validate.js使用之自定义表单验证规则

    jquery.validate.js使用之自定义表单验证规则,下面列出了一些常用的验证法规则 jquery.validate.js演示查看 jquery validate强大的jquery表单验证插件 ...

  5. EasyUI表单验证,自定义插件验证,自定义js插件验证,远程验证,常见手机号,中英文,qq等验证规则验证

     { field : 'startPort', title : "起始端口", editor: "text", width : 50, editor: { ...

  6. jQuery Validation Engine 表单验证,自定义规则验证方法

    jQuery Validation Engine 表单验证说明文档http://code.ciaoca.com/jquery/validation-engine/ js加到jquery.validat ...

  7. 关于引入多个jquery冲突的问题(附一个很好用的validate前端验证框架及使用方法)

    废话不多说,进入正题: 如果一个jsp中想要使用两个不同版本的jquery怎么办呢?客官往下看: <script src="${ctxStatic}/jquery/jquery-1.8 ...

  8. MVC身份验证.MVC过滤器.MVC6关键字Task,Async.前端模拟表单验证,提交.自定义匿名集合.Edge导出到Excel.BootstrapTree树状菜单的全选和反选.bootstrap可搜索可多选可全选下拉框

    1.MVC身份验证. 有两种方式.一个是传统的所有控制器继承自定义Control,然后再里面用MVC的过滤器拦截.所以每次网站的后台被访问时.就会先走入拦截器.进行前端和后端的验证 一个是利用(MVC ...

  9. 9、 Struts2验证(声明式验证、自定义验证器)

    1. 什么是Struts2 验证器 一个健壮的 web 应用程序必须确保用户输入是合法.有效的. Struts2 的输入验证 基于 XWork Validation Framework 的声明式验证: ...

随机推荐

  1. Life Winner Bo HDU - 5754

    Bo is a "Life Winner".He likes playing chessboard games with his girlfriend G. The size of ...

  2. bzoj1801: [Ahoi2009]chess 中国象棋 dp

    题意:在N行M列的棋盘上,放若干个炮可以是0个,使得没有任何一个炮可以攻击另一个炮. 请问有多少种放置方法,中国像棋中炮的行走方式大家应该很清楚吧. 题解:dp[i][j][k]表示到了第i行,有j列 ...

  3. Ant Design 日期选择组件RangePicker 选择时间范围后计算范围内的天数。

    /** *需求:同年同月,同年不同月(两个月相减大于1,小于1),不同年(两个年相减大于1(是否为闰年),小于1),起止包含的月份及天 */ //首先引入组件 import { DatePicker} ...

  4. HDU-2874-森林求LCA/tarjan

    http://acm.hdu.edu.cn/showproblem.php?pid=2874 给出一个森林,询问任意两点最短距离. tarjan跑一遍即可,就是这个题卡内存,vector会MLE,换前 ...

  5. UI基础二:下拉,F4,OP等

    常用的搜索帮助有SE11的SH,域,值列表,组件等...下面介绍一下经常用的: 一:下拉 dropdown是最经常用的,也是最简单的一种. 不管是查询条件,还是结果清单,还是明细界面,下拉都是一样的 ...

  6. 数据结构与算法之PHP查找算法(顺序查找)

    对于查找数据来说,最简单的方法就是从列表的第一个元素开始对列表元素逐个进行判断,直到找到了想要的结果,或者直到列表结尾也没有找到,这种方法称为顺序查找. 一.基本写法 顺序查找的实现很简单.只要从列表 ...

  7. Vue 使用 vuelidate 实现表单验证

    表单验证的应用场景十分广泛,因为网站对用户输入内容的限制是非常必要的. 在vue中,我们使用vuelidate方便地实现表单验证. 官方文档在这里https://monterail.github.io ...

  8. MySQL变量变更小记

    MySQL会随版本的更新,在新版本中淘汰一些variable和引入一些新的variable.在配置variable后不起作用或安全扫描取不到variable值产生告警时,可能正是variable变更的 ...

  9. Qt画笔实现波形区域图

    参考文章:https://blog.csdn.net/yuxing55555/article/details/79752978 效果图: void WareArea::paintEvent(QPain ...

  10. vue 项目中的坑 在项目中遇到 持续更新ing

    1.vue2.0 不支持 v-html 后绑定的内容使用过滤,可是有时候过滤必须使用-----------解决:通过methods中定义方法 然后 v-html='myMethods(string)' ...