我開始使用ESAPI工作,但遇到問題。我正在嘗試創建一個示例規則(Validator.Single = [A-Z] $)。我驗證一個字符串是否只有一個大寫字符。在ESAPI驗證器中創建規則
我把Validator.Single = [AZ] $在validator.properties文件,但是當我在代碼中使用:
System.out.println(v.isValidInput("Single", "A", "Single", 1, true));
輸出告訴我
SecurityConfiguration for Validator.Single not found in ESAPI.properties. Using default:
false
,並返回我假的,而不是真的,因爲「A」是有效的字母。
任何人都知道我還需要做些什麼?或者我制定規則不好?
感謝您的回覆。
請記住改變validation.properties ,在正則表達式語法'[AZ]'中只能在幾乎所有實現中使用ASCII大寫字母。 UNICODE字符將滑過此處。你可以使用'\ p {Lu}' – avgvstvs
或者,如果你用'(U)'< - Java 1.7+ – avgvstvs
給你的正則表達式加前綴,這仍然是個問題嗎? – avgvstvs