176 lines
		
	
	
		
			6.8 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
		
		
			
		
	
	
			176 lines
		
	
	
		
			6.8 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
|   | --- | ||
|  | title: Form Validation | ||
|  | localeTitle: التحقق من صحة النموذج | ||
|  | --- | ||
|  | ## التحقق من صحة النموذج
 | ||
|  | 
 | ||
|  | التحقق من صحة النموذج المستخدم عادةً في الخادم ، بعد أن يقوم العميل بإدخال جميع البيانات الضرورية ثم الضغط على زر "إرسال". إذا كانت البيانات كان العميل غير صحيح أو كان في عداد المفقودين ببساطة ، سيكون على الخادم إرسال جميع البيانات مرة أخرى إلى العميل وطلب أن يكون النموذج إعادة إرسالها مع المعلومات الصحيحة. كانت هذه عملية طويلة تستخدم لوضع الكثير من العبء على الخادم. | ||
|  | 
 | ||
|  | تقدم JavaScript طريقة للتحقق من صحة بيانات النموذج على كمبيوتر العميل قبل إرسالها إلى خادم الويب. التحقق من صحة النموذج بشكل عام يؤدي اثنين المهام: | ||
|  | 
 | ||
|  | ### التحقق الأساسي
 | ||
|  | 
 | ||
|  | بادئ ذي بدء ، يجب التحقق من النموذج للتأكد من ملء جميع الحقول الإلزامية. سيتطلب الأمر مجرد حلقة عبر كل حقل في النموذج و تحقق من البيانات. | ||
|  | 
 | ||
|  | ### التحقق من صحة تنسيق البيانات
 | ||
|  | 
 | ||
|  | ثانيًا ، يجب التحقق من البيانات التي تم إدخالها للنموذج والقيمة الصحيحة. يجب أن تحتوي شفرتك على المنطق المناسب لاختبار صحة البيانات. | ||
|  | 
 | ||
|  | #### مثال:
 | ||
|  | 
 | ||
|  |  ` | ||
|  | <html>  | ||
|  |   | ||
|  |    <head>  | ||
|  |       <title>Form Validation</title>  | ||
|  |   | ||
|  |       <script type="text/javascript">  | ||
|  |          <!-- 
 | ||
|  |             // Form validation code will come here.  | ||
|  |          //-->  | ||
|  |       </script>  | ||
|  |   | ||
|  |    </head>  | ||
|  |   | ||
|  |    <body>  | ||
|  |       <form action="/cgi-bin/test.cgi" name="myForm" onsubmit="return(validate());">  | ||
|  |          <table cellspacing="2" cellpadding="2" border="1">  | ||
|  |   | ||
|  |             <tr>  | ||
|  |                <td align="right">Name</td>  | ||
|  |                <td><input type="text" name="Name" /></td>  | ||
|  |             </tr>  | ||
|  |   | ||
|  |             <tr>  | ||
|  |                <td align="right">EMail</td>  | ||
|  |                <td><input type="text" name="EMail" /></td>  | ||
|  |             </tr>  | ||
|  |   | ||
|  |             <tr>  | ||
|  |                <td align="right">Zip Code</td>  | ||
|  |                <td><input type="text" name="Zip" /></td>  | ||
|  |             </tr>  | ||
|  |   | ||
|  |             <tr>  | ||
|  |                <td align="right">Country</td>  | ||
|  |                <td>  | ||
|  |                   <select name="Country">  | ||
|  |                      <option value="-1" selected>[choose yours]</option>  | ||
|  |                      <option value="1">USA</option>  | ||
|  |                      <option value="2">UK</option>  | ||
|  |                      <option value="3">INDIA</option>  | ||
|  |                   </select>  | ||
|  |                </td>  | ||
|  |             </tr>  | ||
|  |   | ||
|  |             <tr>  | ||
|  |                <td align="right"></td>  | ||
|  |                <td><input type="submit" value="Submit" /></td>  | ||
|  |             </tr>  | ||
|  |   | ||
|  |          </table>  | ||
|  |       </form>  | ||
|  |   | ||
|  |    </body>  | ||
|  |  </html>  | ||
|  | `  | ||
|  | 
 | ||
|  | #### انتاج |
 | ||
|  | 
 | ||
|  | انتبه [هنا](https://liveweave.com/LP9eOP) | ||
|  | 
 | ||
|  | ### التحقق من صحة النموذج الأساسي
 | ||
|  | 
 | ||
|  | دعونا أولا نرى كيف نفعل التحقق من صحة النموذج الأساسي. في النموذج أعلاه ، نحن ندعو بالتحقق () للتحقق من صحة البيانات عند حدوث حدث عند الإرسال. ال التعليمة البرمجية التالية يعرض تنفيذ هذه الدالة `validate()` . | ||
|  | 
 | ||
|  |  ` | ||
|  | <script type="text/javascript">  | ||
|  |    // Form validation code will come here.  | ||
|  |    function validate()  | ||
|  |       {  | ||
|  |   | ||
|  |          if( document.myForm.Name.value == "" )  | ||
|  |          {  | ||
|  |             alert( "Please provide your name!" );  | ||
|  |             document.myForm.Name.focus() ;  | ||
|  |             return false;  | ||
|  |          }  | ||
|  |   | ||
|  |          if( document.myForm.EMail.value == "" )  | ||
|  |          {  | ||
|  |             alert( "Please provide your Email!" );  | ||
|  |             document.myForm.EMail.focus() ;  | ||
|  |             return false;  | ||
|  |          }  | ||
|  |   | ||
|  |          if( document.myForm.Zip.value == "" ||  | ||
|  |          isNaN( document.myForm.Zip.value ) ||  | ||
|  |          document.myForm.Zip.value.length != 5 )  | ||
|  |          {  | ||
|  |             alert( "Please provide a zip in the format #####." );  | ||
|  |             document.myForm.Zip.focus() ;  | ||
|  |             return false;  | ||
|  |          }  | ||
|  |   | ||
|  |          if( document.myForm.Country.value == "-1" )  | ||
|  |          {  | ||
|  |             alert( "Please provide your country!" );  | ||
|  |             return false;  | ||
|  |          }  | ||
|  |          return( true );  | ||
|  |       }  | ||
|  |  </script>  | ||
|  | `  | ||
|  | 
 | ||
|  | #### انتاج |
 | ||
|  | 
 | ||
|  | انتبه [هنا](https://liveweave.com/pCPTnP) | ||
|  | 
 | ||
|  | ### التحقق من صحة تنسيق البيانات
 | ||
|  | 
 | ||
|  | سنرى الآن كيف يمكننا التحقق من صحة بيانات النماذج المدخلة قبل إرسالها إلى خادم الويب. | ||
|  | 
 | ||
|  | يوضح المثال التالي كيفية التحقق من صحة عنوان البريد الإلكتروني الذي تم إدخاله. يجب أن يحتوي عنوان البريد الإلكتروني على علامة "@" ونقطة (.) على الأقل. يجب أيضًا أن يكون "@" لا يكون الحرف الأول لعنوان البريد الإلكتروني ، ويجب أن تكون النقطة الأخيرة على الأقل حرفًا واحدًا بعد علامة "@". | ||
|  | 
 | ||
|  | #### مثال:
 | ||
|  | 
 | ||
|  |  ` | ||
|  | <script type="text/javascript">  | ||
|  |     function validateEmail()  | ||
|  |       {  | ||
|  |          var emailID = document.myForm.EMail.value;  | ||
|  |          atpos = emailID.indexOf("@");  | ||
|  |          dotpos = emailID.lastIndexOf(".");  | ||
|  |   | ||
|  |          if (atpos < 1 || ( dotpos - atpos < 2 ))  | ||
|  |          {  | ||
|  |             alert("Please enter correct email ID")  | ||
|  |             document.myForm.EMail.focus() ;  | ||
|  |             return false;  | ||
|  |          }  | ||
|  |          return( true );  | ||
|  |       }  | ||
|  |  </script>  | ||
|  | `  | ||
|  | 
 | ||
|  | #### انتاج |
 | ||
|  | 
 | ||
|  | انتبه [هنا](https://liveweave.com/nznVs6) | ||
|  | 
 | ||
|  | ### قيود نموذج HTML5
 | ||
|  | 
 | ||
|  | بعض القيود HTML5 تستخدم عادة ل `<input>` هي `type` السمة (على سبيل المثال `type="password"` )، `maxlength` ، `required` و `disabled` . أقل القيد شائع الاستخدام هو `pattern` attrinute الذي يأخذ تعبير JavaScript العادي. | ||
|  | 
 | ||
|  | ### مكتبات التحقق
 | ||
|  | 
 | ||
|  | تتضمن أمثلة مكتبات التحقق من الصحة: | ||
|  | 
 | ||
|  | *   [Validate.js](http://rickharrison.github.com/validate.js/) | ||
|  | *   [التحقق من صحة](http://bassistance.de/jquery-plugins/jquery-plugin-validation/) | ||
|  | *   [Valid8](http://unwrongest.com/projects/valid8/) | ||
|  | 
 | ||
|  | ### معلومات اكثر
 | ||
|  | 
 | ||
|  | *   [نموذج التحقق من صحة البيانات MDN](https://developer.mozilla.org/en-US/docs/Learn/HTML/Forms/Form_validation) | ||
|  | *   [التحقق من القيود | MDN](https://developer.mozilla.org/en-US/docs/Web/Guide/HTML/HTML5/Constraint_validation) | ||
|  | *   [Tutorialspoint](https://www.tutorialspoint.com/javascript/javascript_form_validations.htm) |