佳礼资讯网

 找回密码
 注册

ADVERTISEMENT

查看: 931|回复: 12

关于custom validator[已解决]

[复制链接]
发表于 29-7-2008 09:45 AM | 显示全部楼层 |阅读模式
经过一番撞壁以及dek 的指导。。
我发现几个point,想跟大家报告,以便作为参考。。
Custom Validator 可以用来控制key in条件,但如果用来控制一个以上的textBoxes 的条件,Custom Validator 就显得有点吃力。。
我建议还是用回传统的方法,就是if ..else
我做了老半天,发现自己再钻牛角尖,其实是可以用if else 来解决的,除非你有附加条件,
ex.不可放空和more than or less than
酱的话你就可以用customValidator来控制。。
如有错,请更正。。

------------------------------------------------------------------------------------------------------------------------------------------------------

大家好,这回想问各位大大:
我想用validator 来控制两个textboxes--first name and last name
user 只需要天上其中一个就行了
我在网上看了很多咧子,但我不会用
ClientValidati
OnServerValidate 我知道是放在.aspx.vb但ClientValidatorFunction 需要放在那里?
我是参考以下两个网址的http://www.codeproject.com/KB/va ... ependValidator.aspx
http://www.devhood.com/Tutorials ... aspx?tutorial_id=46

**我用的是asp.net1.0 not 2.0

[ 本帖最后由 心的太平洋 于 30-7-2008 09:13 AM 编辑 ]
回复

使用道具 举报


ADVERTISEMENT

发表于 29-7-2008 10:05 AM | 显示全部楼层

回复 1# 心的太平洋 的帖子

你要的问的问题是,ClientValidatorFunction 需要放在那里对吗?
放在aspx page里咯。。
回复

使用道具 举报

发表于 29-7-2008 10:25 AM | 显示全部楼层
onclientvalidate 是用在,javascript 或 vbscript 的,但我没试过....
回复

使用道具 举报

 楼主| 发表于 29-7-2008 10:29 AM | 显示全部楼层
是的, 我放进去了。。
遇到一个问题
有什么pop up msg 一直出的,虽然我已经fill up the blank even both..
可能是这个问题:
我没有ControlToEmpty,所以把ControlToValidate = ""
对不对,请指教。。
回复

使用道具 举报

发表于 29-7-2008 10:36 AM | 显示全部楼层
虽然不是很明白你要问什么,
但controlToValidate 是你那一个 object (textbox,radiobutton)要被 check,所以 = ”“ 应该错了
例子
controlToValidate="textbox1“

[ 本帖最后由 dek 于 29-7-2008 10:39 AM 编辑 ]
回复

使用道具 举报

 楼主| 发表于 29-7-2008 10:40 AM | 显示全部楼层

回复 5# dek 的帖子

但是我要用来控制两个textbox 噢。。
我在网上看到,叫我不要decline。。
还有一个可疑点:
就是我coding 写错:
请大大看看对不对(client and server are same)

   Sub CustomValidator1_ServerValidate(ByVal source As Object, ByVal args As System.Web.UI.WebControls.ServerValidateEventArgs) Handles CustomValidator1.ServerValidate
        If TextBox1.Text <> "" Or TextBox2.Text <> "" Then
            args.IsValid = True
        Else
            args.IsValid = False
        End If
回复

使用道具 举报

Follow Us
发表于 29-7-2008 10:52 AM | 显示全部楼层

回复 6# 心的太平洋 的帖子

我不太会看vb code,我都是用 C# 和 server validate 的。
回复

使用道具 举报

 楼主| 发表于 29-7-2008 11:10 AM | 显示全部楼层

回复 7# dek 的帖子

没关系,dek你可以写C#可我看吗?
只是选其中一个textbox就可以args.isValid = True
我觉得是我coding 有问题,我可以自己写去vb
我最新的coding:
If (TextBox1.Text.Trim <> String.Empty Or TextBox2.Text.Trim <> String.Empty) Then
            args.IsValid = True
        Else
            args.IsValid = False
        End If
回复

使用道具 举报


ADVERTISEMENT

发表于 29-7-2008 11:30 AM | 显示全部楼层
protected void CustomValidator1_ServerValidate(object source, ServerValidateEventArgs args)
    {
        string fname = fName_tb.Text;
        string lname = lName_tb.Text;

        if (fname.CompareTo("") == 0 && lname.CompareTo("") == 0)
        {
            args.IsValid = false;
        }
        else
            args.IsValid = true;

    }
大致上是,如果 first name 和 last name 都是 ”“, 就 page 就不 valid, 我用两个 custom validate, 但用同一个code.
回复

使用道具 举报

发表于 29-7-2008 11:33 AM | 显示全部楼层
回复

使用道具 举报

发表于 29-7-2008 11:45 AM | 显示全部楼层
刚发现 custom validate 的 ValidateEmptyText="True"  一定要放
还有 fname == ”“ 就可以了,compareTo 就不必了。
回复

使用道具 举报

 楼主| 发表于 29-7-2008 12:06 PM | 显示全部楼层
哈哈。。。
我没有ValidateEmptyText勒,asp.net1.0,哈哈。。
我也莫擦擦了。。。
coding 应该没问题的。。。
哈哈。。。
再给我点时间。。。
回复

使用道具 举报

发表于 29-7-2008 12:10 PM | 显示全部楼层

回复 12# 心的太平洋 的帖子

之前没放到, 搞到一直都是 valid..... ,还以为那里出错了。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

 

ADVERTISEMENT



ADVERTISEMENT



ADVERTISEMENT

ADVERTISEMENT


版权所有 © 1996-2023 Cari Internet Sdn Bhd (483575-W)|IPSERVERONE 提供云主机|广告刊登|关于我们|私隐权|免控|投诉|联络|脸书|佳礼资讯网

GMT+8, 23-12-2025 08:27 PM , Processed in 0.135226 second(s), 25 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表