Aem 是否可以在cq:Widget(textarea)中使用regex字段?

Aem 是否可以在cq:Widget(textarea)中使用regex字段?,aem,Aem,我在属性编辑器中输入了有效的RegExp,但它不起作用。 属性名是regex,它肯定出现在5.3和5.6中(我有5.5) 我得到一个错误uncaughttypeerror:Object/^/content/trainingSite/(.*)$/没有方法“test”,我从javascript调试器看到,this.regex是一个字符串。当然,字符串没有test方法 由于属性编辑器中并没有RegExp类型,CQ只是将小部件的值转储为字符串,所以它根本无法工作。我遗漏了什么吗?在ExtJS表单字段中,

我在属性编辑器中输入了有效的RegExp,但它不起作用。 属性名是
regex
,它肯定出现在5.3和5.6中(我有5.5)

我得到一个错误
uncaughttypeerror:Object/^/content/trainingSite/(.*)$/没有方法“test”
,我从javascript调试器看到,
this.regex
是一个字符串。当然,字符串没有
test
方法


由于属性编辑器中并没有RegExp类型,CQ只是将小部件的值转储为字符串,所以它根本无法工作。我遗漏了什么吗?

在ExtJS表单字段中,只有具有
regex
regexText
属性

ExtJS表单字段的通用验证框架包括:

并且vtypes需要在
CQ.Ext.form.vtypes
上注册:

CQ.Ext.form.VTypes["my_path_structure"] = /^/content/trainingSite/(.*)$/;
CQ.Ext.form.VTypes["my_path_structureText"] = "Invalid path";
  • 第一个条目(
    )可以是函数或javascript regexp
  • 验证失败时将显示
    文本
    条目
  • 还有一个
    Mask
    ,它允许您提供一个可选的Mask,当用户在字段中输入内容时,该Mask将被实时验证

.

在ExtJS表单字段中,只有具有
regex
regexText
属性

ExtJS表单字段的通用验证框架包括:

并且vtypes需要在
CQ.Ext.form.vtypes
上注册:

CQ.Ext.form.VTypes["my_path_structure"] = /^/content/trainingSite/(.*)$/;
CQ.Ext.form.VTypes["my_path_structureText"] = "Invalid path";
  • 第一个条目(
    )可以是函数或javascript regexp
  • 验证失败时将显示
    文本
    条目
  • 还有一个
    Mask
    ,它允许您提供一个可选的Mask,当用户在字段中输入内容时,该Mask将被实时验证

.

首先,我们可以使用
String.prototype.match
和字符串参数。至少在AEM6中,我们可以将正则表达式编写为两端带有斜杠的字符串文字:
“/^\\\/content\\/trainingSite\\/(.*)$/”
,它将正常工作。

首先,我们可以使用
string.prototype.match
和字符串参数。另外,至少在AEM6中,我们可以将正则表达式编写为两端都带有斜杠的字符串文字:
“/^\\\/content\\/trainingSite\\\/(.*)$/”
,它将正常工作。

我也遇到类似问题,只需输入值就会抛出控制台错误。测试无效。当我用以下语法输入regex值时,我的问题得到了解决:

regex="new RegExp("/content/dam/(.*)/(.*)")"
从eclipse和导入的或类似于以下内容的crxde lite:

Name:regex Type:String Value:new RegExp("/content/(.*)/(.*)/(.*)")

我有一个类似的问题,只需输入值就会抛出一个控制台错误,说明.test无效。当我用以下语法输入regex值时,我的问题得到了解决:

regex="new RegExp("/content/dam/(.*)/(.*)")"
从eclipse和导入的或类似于以下内容的crxde lite:

Name:regex Type:String Value:new RegExp("/content/(.*)/(.*)/(.*)")

我建议添加标签,因为这不是CQ特有的。不,问题是CQ特有的。在“普通”Ext中,我只需在config中编写regex文本,就不会有我遇到的问题。在ExtJS中,只有TextField支持
regex
。你的问题似乎更广泛;-)好的,我只是指文本字段。它们都有共同的widgt配置格式。@kirilloid您是如何解决这个问题的?我知道这是一个很老的问题,但我遇到了同样的问题,CQ小部件api显示了从textbox继承的pathfield,因此正则表达式也应该可以用于pathfield我建议添加标记,因为这不是CQ特有的。不,问题是CQ特有的。在“普通”Ext中,我只需在config中编写regex文本,就不会有我遇到的问题。在ExtJS中,只有TextField支持
regex
。你的问题似乎更广泛;-)好的,我只是指文本字段。它们都有共同的widgt配置格式。@kirilloid您是如何解决这个问题的?我知道这是一个很老的问题,但我也遇到了同样的问题,CQ widget api显示了从textbox继承的pathfield,所以正则表达式也应该可以用于pathfield尼斯变通方法,它比创建全新组件更好。尼斯变通方法,比创建全新组件更好。