2012-07-31 48 views
1

好的,所以我在表單上有一個正則表達式驗證器,但我對它很陌生,想知道如何向它添加另一個表達式,以便我可以查找其他表達式。下面是我的示例代碼:ASP.net RegularExpressions

<asp:RegularExpressionValidator 
    ID="RegularExpressionValidator3" 
    ControlToValidate="txtRelationship" 
    ValidationExpression="^[a-zA-Z''-,\'.'\s]{1,30}$" 
    EnableClientScript="true" 
    Display="None" 
    ValidationGroup="<%# ((TSAPassenger)((RepeaterItem)Container.Parent.Parent).DataItem).PaxKey %>" 
    runat="server" 
    ErrorMessage="Invalid Relationship."> 
    Invalid Relationship 
</asp:RegularExpressionValidator> 

我想加入,如果字段名稱等於「測試」或「待定」給予同樣的錯誤或不同的錯誤。我將如何添加另一個表達式?


第二次驗證會是這樣嗎?

<asp:RegularExpressionValidator ID="RegularExpressionValidator1" ControlToValidate="txtName" ValidationExpression="^.*\b(test|tba)\b.*$" 
             EnableClientScript="true" Display="None" ValidationGroup="<%# ((TSAPassenger)((RepeaterItem) Container.Parent.Parent).DataItem).PaxKey %>" runat="server" ErrorMessage="This can not be used as a Contact Name."></asp:RegularExpressionValidator> 
            <asp:RequiredFieldValidator ID="RequiredFieldValidatorName" ControlToValidate="txtName" Enabled="<%# (Container.ItemIndex == 0 || Container. = "test") %>" ValidationGroup="<%# ((TSAPassenger)((RepeaterItem) Container.Parent.Parent).DataItem).PaxKey %>" runat="server" ErrorMessage="Contact Name is required."></asp:RequiredFieldValidator> 
+0

請提供更多的代碼。你使用ErrorMEssage屬性的對象是什麼類型?這是C#嗎?後面的代碼是什麼樣的? etc – MikeTWebb 2012-07-31 19:51:21

回答

0

最好的解決方案是使用自定義驗證器並在onServerValidate事件中編寫驗證碼。

當然,您可以隨時添加另一個regExp驗證程序或比較驗證程序到您正在驗證的同一個對象。

希望這會有幫助

+0

因此,我可以在這個更多的表達式中添加另一個來查找test或tba,並給出一個不同的錯誤信息? – user1566783 2012-07-31 19:53:42

+0

是的。單個輸入元素可以附加多個驗證程序,每個驗證程序都有不同的錯誤消息。確保在驗證器中設置正確的Display屬性值以適應您的特定UI。 – VictorEspina 2012-08-03 11:30:15