۱۳۸۸/۰۶/۰۹

تعيين اعتبار ورودي Int64 يا بزرگتر در ASP.Net


كنترل range validator در ASP.net امكان كنترل ورودي از نوع Int32 ، double‌ و غيره را فراهم مي‌كند. اما اگر كاربر حتما بايد عددي صحيح را وارد كرده و اين عدد از بازه‌ي اعداد Int32 خارج بود (مثلا اعداد Int64 يا حتي بزرگتر) اين كنترل كاربرد خود را از دست مي‌دهد.
در اين حالت بجاي استفاده از كنترل range validaotr مي‌شود از RegularExpressionValidator معروف به صورت زير استفاده كرد:

<asp:RegularExpressionValidator ID="RegularExpressionValidator1" runat="server"
ControlToValidate="TextBox1" ErrorMessage="RegularExpressionValidator"
SetFocusOnError="True" ValidationExpression="\d+"></asp:RegularExpressionValidator>

در اين‌جا ValidationExpression آن عبارت باقاعده‌اي است كه ورودي‌هايي را متشكل از رشته‌اي حاوي يك يا چند عدد، مجاز اعلام خواهد كرد (و در اين حالت مشكلي براي تعيين اعتبار اعداد صحيح بزرگ وجود نخواهد داشت).