瀏覽代碼

Support of non-case sensitive "forbidden values" in DesignerTextField

git-svn-id: http://svn.code.sf.net/p/itop/code/trunk@4473 a333f486-631f-4898-b8df-5754b55c2be0
dflaven 8 年之前
父節點
當前提交
b141d7933f
共有 2 個文件被更改,包括 19 次插入6 次删除
  1. 2 2
      application/forms.class.inc.php
  2. 17 4
      js/property_field.js

+ 2 - 2
application/forms.class.inc.php

@@ -881,7 +881,7 @@ class DesignerTextField extends DesignerFormField
 		$this->sValidationPattern = $sValidationPattern;
 	}
 
-	public function SetForbiddenValues($aValues, $sExplain)
+	public function SetForbiddenValues($aValues, $sExplain, $bCaseSensitive = true)
 	{
 		$aForbiddenValues = $aValues;
 		
@@ -893,7 +893,7 @@ class DesignerTextField extends DesignerFormField
 			
 		}
 		
-		$this->aForbiddenValues[] = array('values' => $aForbiddenValues, 'message' => $sExplain);
+		$this->aForbiddenValues[] = array('values' => $aForbiddenValues, 'message' => $sExplain, 'case_sensitive' => $bCaseSensitive);
 	}
 	
 	public function Render(WebPage $oP, $sFormId, $sRenderMode='dialog')

+ 17 - 4
js/property_field.js

@@ -487,11 +487,24 @@ function ValidateWithPattern(sFieldId, bMandatory, sPattern, sFormId, aForbidden
 		{
 			for(j in aForbiddenValues[i].values)
 			{
-				if (aForbiddenValues[i].values[j] == currentVal)
+				if (aForbiddenValues[i].case_sensitive)
 				{
-					bValid = false;
-					sMessage = aForbiddenValues[i].message;
-					break;	
+					if (aForbiddenValues[i].values[j] == currentVal)
+					{
+						bValid = false;
+						sMessage = aForbiddenValues[i].message;
+						break;	
+					}
+				}
+				else
+				{
+					if (aForbiddenValues[i].values[j].toUpperCase() == currentVal.toUpperCase())
+					{
+						bValid = false;
+						sMessage = aForbiddenValues[i].message;
+						break;	
+					}
+					
 				}
 			}
 		}