2009-08-22 9 views
1

こんにちは私はこれでしばらく問題を抱えています。 DetailsView内に、RegularExpressionValidatorを追加したバウンドテキストボックスがあります。しかし、Webフォームを実行した後、値が有効であるとは限りません。フィールドは、値が空の場合、または正確に3つの大文字の場合のみ検証する必要があります。私が 'CBA'を入力すると、errormessageとしてこの式が得られます。^[A-Z]ABC$ここで、ABCは、フィールドがデータソースから得た値です。だから、それはDetailsView内のEval()関数と関係があると思いますが、それを避けるために何が正確か、どのように理解できていません。RegularExpressionValidator bound TextboxはDetailsView内で有効ではありません

<EditItemTemplate> 
    <asp:TextBox ID="TBDepartFrom" runat="server" Text='<%# Bind("DepartFrom") %>'> 
    </asp:TextBox> 
    <asp:RegularExpressionValidator 
     ID="RegularExpressionValidator1" ControlToValidate="TBDepartFrom" 
     runat="server" 
     ErrorMessage="This code is invalid!" 
     Text='<%# Eval("DepartFrom", "^[A-Z]{3}$") %>'> 
    </asp:RegularExpressionValidator> 
</EditItemTemplate> 

答えて

1

RegularExpressionValidatorにはValidationExpressionが必要です。代わりにテキストフィールドに式を入れています。

<EditItemTemplate> 
    <asp:TextBox ID="TBDepartFrom" runat="server" Text='<%# Bind("DepartFrom") %>'></asp:TextBox> 
    <asp:RegularExpressionValidator 
     ID="RegularExpressionValidator1" ControlToValidate="TBDepartFrom" 
     runat="server" 
     ErrorMessage="This code is invalid!" 
     ValidationExpression="^[A-Z]{3}$" 
     Text="*"></asp:RegularExpressionValidator> 
</EditItemTemplate> 
+0

doh!どうもありがとう –

関連する問題