我在屬性編輯器中輸入有效的RegExp,但它不起作用。 物業名稱是regex
,它肯定存在於5.3和5.6(我有5.5)。我看到,是一個字符串。當然,字符串沒有test
方法。是否可以在cq:Widget(textarea)中使用正則表達式字段?
由於在屬性編輯器中沒有RegExp類型,並且CQ只是爲字符串轉儲小部件的值,所以它不會按這種方式工作。我錯過了什麼嗎?
我在屬性編輯器中輸入有效的RegExp,但它不起作用。 物業名稱是regex
,它肯定存在於5.3和5.6(我有5.5)。我看到,是一個字符串。當然,字符串沒有test
方法。是否可以在cq:Widget(textarea)中使用正則表達式字段?
由於在屬性編輯器中沒有RegExp類型,並且CQ只是爲字符串轉儲小部件的值,所以它不會按這種方式工作。我錯過了什麼嗎?
在ExtJS表單字段中,只有TextField具有regex
和regexText
屬性。
的ExtJS的表單字段的通用驗證框架是vtypes (= validation types):
var config = {
xtype: "textfield",
fieldLabel: "Path:",
vtype: "my_path_structure"
}
而且vtypes需要在CQ.Ext.form.VTypes
註冊:
CQ.Ext.form.VTypes["my_path_structure"] = /^/content/trainingSite/(.*)$/;
CQ.Ext.form.VTypes["my_path_structureText"] = "Invalid path";
<name>
)可以是函數或JavaScript正則表達式。<name>Text
條目。<name>Mask
它允許您提供一個可選的掩模,在用戶進入現場時實時驗證。很好的解決方法,它比創建全新組件更好。 – kirilloid
首先,我們可以使用String.prototype.match
和一個字符串參數。至少在AEM6中,我們可以將正則表達式寫成兩端都是斜槓的字符串文字:"/^\\/content\\/trainingSite\\/(.*)$/"
,它可以正常工作。
我有一個類似的問題,只是餵食的價值會拋出控制檯錯誤說。測試是無效的。
regex="new RegExp("/content/dam/(.*)/(.*)")"
從Eclipse和進口或象下面這樣crxde-精簡版:當我喂在這句法正則表達式的值我的問題就解決了
Name:regex Type:String Value:new RegExp("/content/(.*)/(.*)/(.*)")
我建議加上標籤[ExtJS的(HTTP ://stackoverflow.com/questions/tagged/extjs),因爲這不是CQ特定的。 –
不,問題特定於CQ。在「普通」Ext中,我可以在config中編寫正則表達式,並且不會遇到像我遇到的那樣的問題。 – kirilloid
在ExtJS中,只有TextField支持'regex'。你的問題似乎更廣泛;-) –