VB.net中的Validator或Expression,用于检查在该文本框中输入的值

时间:2009-09-24 13:52:14

标签: vb.net

我正在使用vb.net。

我在vb.net中有以下代码

<tr>
    <td >
    DateOfReceiving:
    </td>
    <td>
    <asp:TextBox ID="DateOfReceivingTextBox" runat="server" CssClass="datepicker" Text='<%# Bind("DateOfReceiving","{0:dd/MM/yyyy}") %>' />
    </td>
    <td >
    TokenStartingNumber:
    </td>
    <td>
    <asp:TextBox ID="TokenStartingNumberTextBox" runat="server" Text='<%# Bind("TokenStartingNumber") %>' />        
    </td>
</tr>

现在我想要对文本框强制设置验证 TokenStartingNumberTextBox 如果用户在 DateOfReceivingTextBox 中输入了值。

请建议!

最诚挚的问候, YUV

2 个答案:

答案 0 :(得分:0)

使用CustomValidator

http://msdn.microsoft.com/en-us/library/9eee01cx(VS.80).aspx

并在代码隐藏中执行您的逻辑。

修改 - 添加

当然,您也可以在javascript中进行客户端验证。细节在我链接的文章中。

答案 1 :(得分:0)

谢谢大卫!

我使用下面的代码解决了上述问题。我写了自定义验证器。

<tr>
    <td>
    DateOfReceiving:
    </td>
    <td>
    <asp:TextBox ID="DateOfReceivingTextBox" runat="server" CssClass="txtDate" Text='<%# Bind("DateOfReceiving","{0:dd/MM/yyyy}") %>' />
    </td>
    <td>
    TokenStartingNumber:
    </td>
    <td>
    <asp:TextBox ID="TokenStartingNumberTextBox" runat="server" Text='<%# Bind("TokenStartingNumber") %>' />
    <br />                                    
    <asp:CustomValidator ID="ctlTokenStartingNumber" runat="server" Display="Dynamic"
    ControlToValidate="DateOfReceivingTextBox" OnServerValidate="TokenStartValidation"
    ErrorMessage="Please enter Token Starting Number"></asp:CustomValidator>
    </td>
</tr>

在我的Codebehind中,我使用了这个逻辑。

Sub TokenStartValidation(ByVal source As Object,ByVal arguments as ServerValidateEventArgs)

If CType(FormView1.FindControl("DateOfReceivingTextBox"), TextBox).Text = "" Then
    arguments.IsValid = True
Else
    arguments.IsValid = False
End If

End Sub

如果出现问题,请查看并建议我!

干杯!