سؤال

أود التحقق من صحة مربع النص لنص معين ويجب ألا يكون فارغًا. لكن مدقق التعبير العادي لا يتم التحقق منه إذا كان مربع النص فارغ. ومع ذلك ، فإنه يتحقق إذا قمت بكتابة شيء في مربع النص.

كيف يمكنني إجراء تعبير منتظم للتشغيل حتى لو كان مربع النص فارغًا؟

هل يجب أن أستخدم مدقق المدقق + Regex في نفس الوقت؟ شكرًا.

<asp:TextBox ID="txtcard" runat="server" MaxLength="16"></asp:TextBox>

<asp:RegularExpressionValidator ID="RegularExpressionValidator2" runat="server" 
ControlToValidate="txtcard" ErrorMessage="Please type credit card no" 
ValidationExpression="^\d{16}$"></asp:RegularExpressionValidator>
هل كانت مفيدة؟

المحلول

سأفعل عمومًا كما تقترح ولديّ مدقق مطلوب أيضًا. هذا من شأنه أن يتيح لك الحصول على رسالة مختلفة لكل قاعدة.

هناك خيار آخر أوصي به أي مطور ويب هو المكون الإضافي للتحقق من صحة JQuery. إذا قمت بدمج هذا مع التحقق بطلاقة ، يمكنك الاحتفاظ بجميع قواعد التحقق من الصحة لكائنات عملك في مكان واحد ويمكنك التحقق من صحة جانب العميل وفي الخادم باستخدام تلك القواعد نفسها.

التحقق من صحة jQuery

التحقق بطلاقة

نصائح أخرى

يجب أن تجمع بينك RegularExpressionValidator مع RequiredFieldValidator.

إذا فشلت إما ، فسيتم حظره بسبب إطلاق التحقق من الصحة. كل واحد يخدم غرضًا و RegularExpressionValidatorالغرض من ذلك هو التحقق من صحة النص وليس نقص النص.

إذا كنت تريد أن تفعل كل شيء في مدقق واحد ، فيمكنك استخدام CustomValidator وحدد ValidateEmptyText='true'. ثم يمكنك استخدام JavaScript Regex لإجراء التحقق. أود أن أوصي اثنين من المدققين على الرغم من أن هذا هو نهج قياسي.

يجب عليك استخدام كليهما في نفس الوقت. عدم إرجاع خطأ التحقق من الصحة إذا كانت القيمة فارغة شائعة مع عناصر التحكم في التحقق من صحة ASP.NET. سترى نفس السلوك من سمات التحقق من الصحة في System.componentModel.DataAnnotations.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top