1 thinkphp 框架 中判断输入的数值和数据库中的数值是否一致
首先 需要在view文件夹下建一个模板 名为zhuce.html
1
2
3
4
5
6
7
8
9
|
< html >
< head >
< script src = "__ROOT__/Public/js/jquery-1.11.2.min.js" ></ script >
</ head >
< body >
< div > 账号:< input type = "text" name = "num" id = "uid" ></ div >
< div id = "ts" ></ div >
</ body >
</ html >
|
我在控制器TextController.class.php中写了一个方法zhuce(),显示模板
1
2
3
4
|
function zhuce()
{
$this ->show();
}
|
这里需要用到ajax来写的,首选需要引入jquery包 已经在上面引入了
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
|
<script type= "text/javascript" >
$( "#uid" ).blur( function (){
var num = $( this ).val();
$.ajax({
url: "__CONTROLLER__/chuli" ,
data:{num:num},
type: "POST" ,
dataType: "TEXT" ,
success: function (data)
{
if (data.trim()== "1" )
{
$( "#ts" ).html( "此账号已经存在" );
}
else
{
$( "#ts" ).html( "此账号可用" );
}
}
})
})
</script>
|
上面涉及到一个chuli方法,那么这儿我们要开始写chuli方法了
1
2
3
4
5
6
7
|
function chuli()
{
$n =D( "login" );
$num = $_POST [ "num" ];
$aa = $n ->where( "num='{$num}'" )-> count ();
$this ->ajaxReturn( $aa , "eval" );
}
|
这样就可以来判断这个账号是不是可以使用了,但是我们会发现有一个小bug,就是如果是空的话,那么会显示此账号可以使用,为了避免出现这样的失误,我们可以在js中 判断一下是不是为空 if(num.trim()==""){$("#ts").html("账号不可以为空")} else{执行ajax部分的内容就可以了}
2 验证方法:
首先是判断不为空的方法,这里可以直接用js来写是非常简单的,用的是nation表 我在view文件夹下写了一个jsdongtai.html的文件,
1
2
3
4
5
6
7
8
9
10
11
|
< html >
< head >
< script src = "__ROOT__/Public/js/jquery-1.11.2.min.js" ></ script >
</ head >
< body >
< div >
代号:< input type = "text" id = "code" />
< span id = "ts" ></ span >
</ div >
</ body >
</ html >
|
然后就是判断代号是否为空
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
|
<script type= "text/javascript" >
$( "#code" ).blur( function (){
var code=$( this ).val();
if (code.trim()== "" )
{
$( "#ts).html(" 代号不能为空 ");
}
else
{
$(" #ts").html("验证通过");
}
})
</script>
|
然后用jsdongtai方法调一下就可以了 function jsdongtai(){$this->show();}
如果我们用ajax来调的话可能比较麻烦,但是对于其他的验证来说要方便的多了,我们可以在方法里面添加多个验证
比如我们用一个dongtai.html的模板 和jsdongtai.html的html部分是一样的,这样我们就只需要写ajax部分就可以了
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
|
<script type= "text/javascript" >
$( "#code" ).blur( function (){
var code=$( this ).val();
$.ajax({
url: "__CONTROLLER__/yanzheng" ,
data:{code:code}, //第一个code必须是和表中的一致
type: "POST" ,
dataType: "TEXT" ,
success: function (data)
{
if (data.trim()== "1" )
{
$( "#ts" ).html( "验证通过" ),
}
else
{
$( "#ts" ).html( "此处不能为空" ),
}
}
})
})
</script>
|
下面是yanzheng方法
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
function yanzheng()
{
$n =D( "nation" );
$a = array (
array ( "code" , "require" , "此处不能为空" ))
if ( $n ->validate( $a )->create())
{
$this ->ajaxReturn( "1" , "eval" );
}
else
{
$this ->ajaxReturn( $n ->getError(), "eval" )
}
}
|
在我们平时做验证的时候,很少会用ajax,相对来说比较麻烦,我们用简单的js就可以完成的,比如我做一个关于邮箱的验证,在jsdongtai.html中加入这一句
1
|
< div >< input type = "text" id = "email" />< span id = "aa" ></ span ></ div >
|
然后我们开始做邮箱的验证了,我用的js都是引入的jquery包,前面已经引入过了,这里就不再详说了
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
|
<script type= "text/javascript" >
$( "#email" ).blur( function (){
var email = $( this ).val();
$zz=/^([a-zA-Z0-9_-])+@([a-zA-Z0-9_-])+((\.[a-zA-Z0-9_-]{2,3}){1,2})$/;
if (email.match($zz)== null )
{
$( "#aa" ).html( "邮箱格式不正确" );
}
else
{
$( "#aa" ).html( "邮箱验证成功" );
}
})
</script>
|
原文链接:http://www.cnblogs.com/xiaodouding/p/6812867.html