Здравствуйте, у меня некоторое время были проблемы с этим.
У меня есть связанное текстовое поле в DetailsView, к которому я добавил RegularExpressionValidator. Однако после запуска веб-формы я обнаружил, что значение никогда не считается действительным, даже когда оно должно быть. Поле должно проверяться только тогда, когда значение пустое или ровно 3 заглавные буквы. Если я ввожу 'CBA', который должен работать, я получаю это выражение как сообщение об ошибке: ^[A-Z]ABC$
, где ABC - значение, которое поле имеет из источника данных . Поэтому я предполагаю, что это как-то связано с функцией Eval () внутри 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>