以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  如何判断是否正确  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=191972)

--  作者:xuzihang
--  发布时间:2024/5/20 13:54:00
--  如何判断是否正确
如何判断是否正确
老师,  在手机端录入【卡号】和【激活码】等数据 到表 会员充值
第一步   需要和 会员充值 里的【卡号】核对判断是否重复,不重复通过,重复了暂停并提示 卡号重复了
第二步   卡号再与 表 卡池 里的【卡号】 和【激活码】判断,有卡号并且核对上激活后通过,否则暂停并提示,卡号或激活码错误!                        

问题:随便输入 【卡号】和【激活码】都能提交    没有任何提示和判断

Dim wb As New weui
\'开始生成网页
Select Case e.path
    Case "jihuo.htm" \'激活卡号
        If e.PostValues.Count = 0 Then
            wb.AddForm("", "form1", "jihuo.htm")
             Dim 客户姓名 As String
            客户姓名 = e.PostValues("客户姓名")
            Dim dr As DataRow = DataTables("会员充值").SQLFind("客户姓名 =\'" & 客户姓名 & "\'")
            If dr Is Nothing Then
                With wb.AddInputGroup("form1", "ipg1", "客户资料") \'空行时候,从客户信息里引来的数据
                    .AddInput("客户姓名", "客户姓名", "Text").value = dr("客户姓名") \'前一个"姓名"是ID,后一个"姓名"是标题
                End With
                With wb.AddInputGroup("form1", "ipg2", "会员类型")
                    .AddSelect("会员类型", "会员类型", "199|388|999")
                    .AddInput("卡号", "卡号", "Text")
                    .AddInput("激活码", "密码", "password")
                    .AddInput("销售人", "销售人", "Text")
                End With
                If e.PostValues.ContainsKey("卡号") AndAlso e.PostValues.ContainsKey("激活码") Then \'判断是否是验证失败后的重新登录
                    Dim Verified As Boolean \'用于标记用户是否通过了身份验证
                    Dim 卡号 As String
                    Dim 激活码 As String
                    卡号 = e.PostValues("卡号")
                    激活码 = e.PostValues("激活码")
                    If dr("卡号") = DataTables("会员充值").SQLFind("卡号 = \'" & e.PostValues("卡号") & "\'") Then \'("卡号 = \'" & e.NewValue & "\'")Then
                        wb.AddTopTips("", "toptip1", "卡号已经存在!").msec = 2000 \'如果用户通过登录按钮访问,则给用户一个2秒的提示 
                    ElseIf dr("卡号") = DataTables("卡池").SQLFind("激活码 =\'" & e.PostValues("激活码") & "\' and 卡号 =\'" & e.PostValues("卡号") & "\'") Then
                        Verified = True \'验证正确\' 
                        
                    Else
                        wb.AddTopTips("", "toptip2", "卡号或密码错误!").msec = 2000 \'如果用户通过登录按钮访问,则给用户一个2秒的提示.
                    End If
                End If
                With wb.AddButtonGroup("form1", "btg1", True)
                    .Add("btn3", "提交绑卡信息", "submit")
                End With
                e.WriteString(wb.Build) 
            ElseIf dr("客户姓名")IsNot Nothing AndAlso dr("卡号")IsNot Nothing AndAlso dr("销售人")IsNot Nothing AndAlso dr("会员类型")IsNot Nothing Then
                
                With wb.AddInputGroup("form1", "ipg1", "客户资料") \'有值后,从记录信息里读取数据
                    With .AddInput("客户姓名", "客户姓名", "Text")
                        .value = dr("客户姓名")
                        .Readonly = True
                    End With
                End With
                With wb.AddInputGroup("form1", "ipg2", "会员详情")
                    With .AddInput("会员类型", "类型", "Text")
                        .value = dr("会员类型")
                        .Readonly = True
                    End With
                    With .AddInput("卡号", "卡号", "Text")
                        .value = dr("卡号")
                        .Readonly = True
                    End With
                    With .AddInput("销售人", "销售人", "Text")
                        .value = dr("卡号")
                        .Readonly = True
                    End With
                End With
                
                With wb.AddButtonGroup("form1", "btg1", True)
                    \'                            .Add("btn1", "不可修改", "submit").Kind = 1
                    .Add("btn2", "返回主页", "button", "jihuo.htm")
                End With
                e.WriteString(wb.Build)
            End If
            
        Else
            Dim nms() As String = {"客户姓名", "会员类型", "卡号", "销售人", "激活码"} \'不能为空的列名数组 
            For Each nm As String In nms
                If e.PostValues.ContainsKey(nm) = False Then \'生成错误提示页 
                    With wb.AddMsgPage("", "msgpage", "增加失败", nm & "不能为空!") 
                        .icon = "Warn" \'改变图标
                        .AddButton("btn1", "返回").Attribute = ""
                    End With
                    e.WriteString(wb.Build)
                    Return \'必须返回
                End If
            Next
            nms = New String() { "客户姓名", "会员类型", "卡号", "销售人"} \'重新定义了nms数组,增加了两列. 
            Dim dr3 As DataRow = DataTables("会员充值").AddNew()
            For Each nm As String In nms
                If e.PostValues.ContainsKey(nm) Then
                    dr3(nm) = e.PostValues(nm)
                End If
            Next
            
            \'保存并生成增加成功提示页面
            dr3.save()
            With wb.AddMsgPage("", "msgpage", "增加成功", "111") \'生成成功提示页 
                \'                        .AddButton("btn1", "继续修改", "jihuo.htm").Kind = 1
                .AddButton("btn2", "返回首页", "jihuo.htm")
            End With
            e.WriteString(wb.Build)
        End If
End Select
e.WriteString(wb.Build) \'生成网页

--  作者:有点蓝
--  发布时间:2024/5/20 14:09:00
--  
 If e.PostValues.Count = 0 Then
这时还没有数据数据提交,生成空白页面....
else
有数据提交,验证数据,保存....
end if

--  作者:xuzihang
--  发布时间:2024/5/20 14:18:00
--  
用什么办法来验证,手机页面和数据库的验证办法?


--  作者:有点蓝
--  发布时间:2024/5/20 14:30:00
--  
就是上面的SQLFind之类的,查询数据库
--  作者:xuzihang
--  发布时间:2024/5/20 17:16:00
--  
需要用到 使用AJAX 这个么, 
.AddInput("姓名","姓名","text")  这个姓名在输入时候能提示对错么

--  作者:有点蓝
--  发布时间:2024/5/20 17:20:00
--  
如果到后台判断,需要使用ajax的,比如:http://www.foxtable.com/mobilehelp/topics/0104.htm
--  作者:xuzihang
--  发布时间:2024/5/20 21:38:00
--  
老师,这个案例的下面代码对么,照着做  填写什么数据都是"请完整输入订单内容!"

Case
"valid.htm"
        If e.PostValues.ContainsKey(
"
产品") AndAlso e.PostValues.ContainsKey("数量") AndAlso e.PostValues.ContainsKey("折扣") Then
            If e.PostValues(
"
产品") = "PD01" AndAlso e.PostValues("数量") > 1000 Then
                e.WriteString(
"PD01
库存只剩1000!")
            ElseIf e.PostValues(
"
产品") = "PD01" AndAlso e.PostValues("折扣") > 0.1 Then
                e.WriteString(
"PD01
的最大允许折扣为0.1")
           
Else
                e.WriteString("OK")
            End
If
       
Else
            e.WriteString(
"
请完整输入订单内容!")
       
End If
End
Select
--  作者:有点蓝
--  发布时间:2024/5/20 22:14:00
--  
帮助里的用法肯定没有问题。要想解决问题请把自己的代码发上来,发帮助的没有任何意义
--  作者:xuzihang
--  发布时间:2024/5/20 22:25:00
--  
Case "jhyztk.htm" \'验证数据判断提卡和会员卡号验证
                If e.PostValues.ContainsKey("卡号") AndAlso e.PostValues.ContainsKey("激活码") Then
                    \'                                        Dim drcz As String
                    \'                    Dim 激活码 As String
                    \'                    卡号 = e.PostValues("卡号")
                    \'                    激活码 = e.PostValues("激活码")
                    Dim drcz As DataRow = DataTables("会员充值").SQLFind("卡号=\'" & e.PostValues("卡号") & "\'")
                    Dim drtk As DataRow = DataTables("提卡明细").SQLFind("激活码 =\'" & e.PostValues("激活码") & "\' and 卡号 =\'" & e.PostValues("卡号") & "\'")
                    If e.PostValues("卡号") = drcz Then
                        e.WriteString("次卡已激活")
                    ElseIf e.PostValues("激活码") = 555 Then 
                        e.WriteString("PD01的最大允许折扣为0.1哦")
                    Else
                        e.WriteString("OK")
                    End If
                Else
                    e.WriteString("请完整输入订单内容!")
                End If
                
图片点击可在新窗口打开查看此主题相关图片如下:微信图片_20240520222229.png
图片点击可在新窗口打开查看

--  作者:xuzihang
--  发布时间:2024/5/20 22:29:00
--  
jhyztk.js     里的代码

function validit(){
    var result=submitAjaxFileds("jhyztk.htm","","卡号","激活码",false);
    if(result=="OK"){
        return true;
    }
    else{
图片点击可在新窗口打开查看此主题相关图片如下:微信图片_20240520222706.jpg
图片点击可在新窗口打开查看
        showTopTips("toptip1",result,2500);
        return false;
    }
}
[此贴子已经被作者于2024/5/20 22:30:29编辑过]