2012-09-20 82 views
0

我有一个表单要求四种类型的捐赠。用户必须选择四项捐赠中的一项。另外,根据他们选择哪一个,他们需要填写相邻的字段(金额)。嵌套的ASP验证

如果A1被填充在B1必须
填充如果A2被填充在B2必须填写
如果A3被填充在B3必须填写
如果A4被填充在B4必须填写

...但至少A的一个必须填写

+0

有什么问题? [你有什么尝试?](http://mattgemmell.com/2008/12/08/what-have-you-tried/),你想验证表单输入字段,你是否验证他们在客户端或服务器端? – user1406062

回答

1

假设你ASP验证后是(即后门柱),你可以做这样的事情:

dim A1 : A1 = trim(request.form("A1")) 
dim A2 : A2 = trim(request.form("A2")) 
dim A3 : A3 = trim(request.form("A3")) 
dim A4 : A4 = trim(request.form("A4")) 

dim B1 : A1 = trim(request.form("B1")) 
dim B2 : B2 = trim(request.form("B2")) 
dim B3 : B3 = trim(request.form("B3")) 
dim B4 : B4 = trim(request.form("B4")) 

dim ValidationError : ValidationError = "" 

if A1 <> "on" and A2 <> "on" and A3 <> "on" and A4 <> "on" then 
    ValidationError = "Please select at least one option" 
else 
    if A1 = "on" and B1 = "" then ValidationError = "You selected A1, please complete the amount" 
    if A2 = "on" and B2 = "" then ValidationError = "You selected A2, please complete the amount" 
    if A3 = "on" and B3 = "" then ValidationError = "You selected A3, please complete the amount" 
    if A4 = "on" and B4 = "" then ValidationError = "You selected A4, please complete the amount" 
end if 

if ValidationError <> "" then 
    response.write(ValidationError) 
else 
    '#### All OK 
end if 

但是像这样的东西通常会在javascript(客户端 - 预发布)验证中变得很滑。

+0

看起来不像有效的经典ASP代码... –

+0

@RicoSuave好斑点,昏暗的地方,确实在完整的vb中,改为vba – HeavenCore