All pastes #78857 Raw Edit

Anonymous

public text v1 · immutable
·published 2006-07-04 17:05 UTC
rendered paste body

	function TJ_ValidateField(Element, ObjValidate, ObjMessages)
	{

		var Callback = new Object();
		var MessageCallback = "";

		Callback.messages = "";
		Callback.iserror = 0;
	
		//Handle all options in the validation object
		for( var name in ObjValidate ) 
		{
			switch(name)
			{
				case "minlength":
									
					if(Element.value.length > ObjValidate[name] - 1)
					{
						// OKAY
						MessageCallback = '';
					}
					else
					{
						MessageCallback = ObjMessages.minlength_error;
						Callback.iserror = 1;
					}
										
				break;

				case "alpha":
					
					var pattern = /^[A-Za-z\s]+$/;

					if(pattern.exec(Element.value))
					{	
						MessageCallback = '';
					}
					else
					{
						MessageCallback = ObjMessages.alpha_error;
						Callback.iserror = 1;
					}
					
				break;
					
				case "alphanumeric":

					var pattern = /^[\w\s]+$/;      
       
					if(pattern.exec(Element.value))
					{	
						MessageCallback = '';
					}
					else
					{
						MessageCallback = ObjMessages.alphanumeric_error;
						Callback.iserror = 1;
					}

				break;

				case "numeric":

					var pattern = /^[\s0-9]*$/;
       
					if(pattern.exec(Element.value))
					{	
						MessageCallback += ' ';
					}
					else
					{
						MessageCallback = ObjMessages.numeric_error;
						Callback.iserror = 1;
					}

				break;

	
				case "email":

					var pattern = /^[^@]+@([-\w]+\.)+[A-Za-z]{2,4}$/;
					       
					if(pattern.exec(Element.value))
					{	
						MessageCallback = ' ';
					}
					else
					{
						MessageCallback += ObjMessages.email_error;
						Callback.iserror = 1;
					}

				break;

				case "listmenu":

					if(Element.value == "")
					{
						MessageCallback = 'no selection';
						Callback.iserror = 1;
					}
					else
					{
						MessageCallback = ' ';
					}

				break;
				
				case "date":

					var pattern =/^([012]?\d|3[01])\/(0?\d|1[012])\/(19|20)\d\d$/;
					
					if(pattern.exec(Element.value))
					{
						MessageCallback = ' ';
					}
					else
					{
						MessageCallback = ObjMessages.date_error;
						Callback.iserror = 1;
					}

				break;

				case "domsg":
					if(Callback.iserror == 1)
						Callback.domsg = 1;
				break;

				case "alert":

					if(Callback.iserror == 1)
						Callback.doalert = 1;
				break;

			}
		}

		Callback.messages = MessageCallback;
	
		return Callback;
	}
	
	function TJ_FormValidate(FormName, FormId, ObjFormValidate, ObjMessages) // Manipulating Globals here.
	{			
		var Element;
		var Callback;
		var stop_focus = 0;

		for(var ValidateObjName in ObjFormValidate)
		{
			//var Callback = new Object();
			Element = document.getElementById(FormId).elements[ValidateObjName];

			//Perform check and retrieve message callbacks for each element.
			Callback = TJ_ValidateField(Element,ObjFormValidate[ValidateObjName], ObjMessages);
			
			//Write any callback messages.
		
			if(Callback.iserror == 1)
			{
				if(Callback.domsg == 1)
				{	
					document.getElementById(FormId + '_' + ValidateObjName).innerHTML = ' ';
					document.getElementById(FormId + '_' + ValidateObjName).innerHTML = Callback.messages;
				}

				if(Callback.doalert == 1)
					alert(Callback.messages);
			}
		}
	}