|
查看: 932|回复: 12
|
关于custom validator[已解决]
[复制链接]
|
|
|
经过一番撞壁以及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 编辑 ] |
|
|
|
|
|
|
|
|
|
|
发表于 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 |
|
|
|
|
|
|
|
|
|
|
发表于 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 |
|
|
|
|
|
|
|
|
|
|
发表于 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..... ,还以为那里出错了。 |
|
|
|
|
|
|
|
|
| |
本周最热论坛帖子
|