Google Analytics İzleme

03 Mart 2011

Asp.net Multiline TextBox'da Max Length Kontrolü


Asp.Net'te uygulama yazan kişiler anlatacağım bu problemle az yada çok karşılaşmışlardır. Kullanıcılardan girdi almak için kullandığımız textbox aracında girdinin uzunluğunu kontrol etmek istiyorsak ve kodla uğraşmak istemiyorsak max length özelliğini kullanırız. Bu kısımda bir problem yok fakat textbox yapısını multiline olarak değiştirdiğimizde maxlength özelliği düzgün çalışmamaktadır. Bunu da kodla uğraşmadan çözmek mümkün. Çeşitli kontroller yapmada kullandığımız validator sınıflarından yararlanacağız. Girdinin düzgünlüğünü kontrol eden RegularExpressionValidator kontrolünü kullancaz. Bu aracın ValidationExpression kısmına örneğin bu  "^([\S\s]{0,10})$" değeri yazdığımızda girdi 10 karakterden fazla ise uyarı mesajı görünecek ve validation group'taki kontrolün çalışmasına izin vermiyecektir. Örnek kod aşağıdadır.

<asp:TextBox ID="deneTextBox" runat="server" Height="80px" TabIndex="0"
                                            TextMode="MultiLine"></asp:TextBox>

<asp:RegularExpressionValidator ID="deneTextBoxRegularExpressionValidator" runat="server"
                                            Display="dynamic" ControlToValidate="deneTextBox" ValidationExpression="^([\S\s]{0,10})$"
                                            ErrorMessage="<p>En fazla 10 karakter</p>">
                                        </asp:RegularExpressionValidator>


Veya şu validationexpression'ları da kullanabilirsiniz:

ValidationExpression="[\w\n\r]{0,1000}"
ValidationExpression="(\s|.){0,1024}"


Kaynaklar:

Hiç yorum yok: