ورود

View Full Version : سوال: نحوه وليديشن تکست باکسي که چند حرف توش وجود داره



bftarane
پنج شنبه 21 دی 1391, 16:46 عصر
سلام.
لطفاً اين شکل رو ببينيد
98188
من مي خوام اجازه ندم کاربر بدون اينکه تکست باکس رو پر کنه يعني ادامه //:http رو وارد کنه بتونه اطلاعات رو ثبت کنه.
يه راه که به نظرم مي رسه اينه که بيام در رويداد کليک دکمه ثبت چک کنم اگه تکست باکس مقدارش //:http بود يه پيغام بدم که مثلاً آدرس را وارد نکرده ايد ولي فکر مي کنم با وليديشن هاي دات نت انجام بدم بهتر باشه.
ميشه راهنمايي کنيد؟

aspismylove
پنج شنبه 21 دی 1391, 16:54 عصر
سلام.
لطفاً اين شکل رو ببينيد
98188
من مي خوام اجازه ندم کاربر بدون اينکه تکست باکس رو پر کنه يعني ادامه //:http رو وارد کنه بتونه اطلاعات رو ثبت کنه.
يه راه که به نظرم مي رسه اينه که بيام در رويداد کليک دکمه ثبت چک کنم اگه تکست باکس مقدارش //:http بود يه پيغام بدم که مثلاً آدرس را وارد نکرده ايد ولي فکر مي کنم با وليديشن هاي دات نت انجام بدم بهتر باشه.
ميشه راهنمايي کنيد؟

اصلا نیازی به کدنویسی نداره !!!

ابتدا یک RegularExpressionValidator از توی قسمت Validation جعبه ابزار به صفحه اضافه کنید .

سپس روی RegularExpressionValidator کلیک کنید و از قسمت Properties روی خاصیت ValidationExpression کلیک کنید تا پنجره Standards Expression براتون باز بشه و سپس از توی اون پنجره internet URL رو انتخاب کنید و اکی کنید.
و در آخر هم مقدار : ControlToValidate رو برابر با آی دی اون تکست باکستون کنید.

موفق باشید

clover
پنج شنبه 21 دی 1391, 16:55 عصر
سلام
از این ترکیب استفاده کنید:

<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
<asp:RequiredFieldValidator runat="server" ErrorMessage="*" ControlToValidate="TextBox1" Display="Dynamic" />
<asp:RegularExpressionValidator runat="server" ErrorMessage="*" ControlToValidate="TextBox1" ValidationExpression="http://.+" Display="Dynamic" />

aspismylove
پنج شنبه 21 دی 1391, 17:08 عصر
سلام
از این ترکیب استفاده کنید:

<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
<asp:RequiredFieldValidator runat="server" ErrorMessage="*" ControlToValidate="TextBox1" Display="Dynamic" />
<asp:RegularExpressionValidator runat="server" ErrorMessage="*" ControlToValidate="TextBox1" ValidationExpression="http://.+" Display="Dynamic" />

دوست عزیز مقدار ValidationExpression که شما تعریف کردید صحیح نیس !!!! حالا شما فرض کنید که کاربر بیاد و فقط یک حرف ادامه اون مقدار پیشفرض تکست باکس وارد کنه ، ولی Validator ایراد نمیگیره ، در صورتیکه مقدار وارد شده نمونه آدرس صحیح یک لینک اینترنتی نمی باشد .

مقدار صحیح برای یک لینک کامل اینترنتی اینگونه هستش :

ValidationExpression="http(s)?://([\w-]+\.)+[\w-]+(/[\w- ./?%&amp;=]*)?"


موفق باشید

clover
پنج شنبه 21 دی 1391, 17:24 عصر
دوست عزیز مقدار ValidationExpression که شما تعریف کردید صحیح نیس !!!!
برای چه کاری صحیح نیست؟


من مي خوام اجازه ندم کاربر بدون اينکه تکست باکس رو پر کنه يعني ادامه //:http رو وارد کنه بتونه اطلاعات رو ثبت کنه.
در واقع من پاسخ این سوال رو دادم. ممکنه بعدا ایشون سوال دقیق تری بپرسند و سوال کنند ValidationExpression صحیح برای تشخیص یک Internal URL یا یک Absolute URL چی هست.

موفق باشید