我的<h:inputTextArea>
内有<f:validateRegex>
标记。
每当在文本区域内按下回车键以换行新行,然后按下提交按钮时,即使它不应无效,也表示textArea无效。
我从textArea中移除了<f:validateRegex>
标签,一切正常,所以问题就在那里,但我没有足够的经验来解决这个问题的正则表达式,所以任何帮助将不胜感激,这里是部分我遇到这个问题的代码:
<h:inputTextarea value="#{supportBean.userRequest.contents}"
id="contents" required="true" validatorMessage="#{msgs['supportform.contents.invalid']}"
requiredMessage="#{msgs['supportform.contents.invalid']}"
rows="6" >
<f:validateRegex pattern="\s*?[a-zA-Z-'א-ת]{2,}+.*" />
</h:inputTextarea>
修改
输入文本区域用于联系我们表单中的评论。
我没有创建这个正则表达式模式,我不是100%肯定它应该做什么,但我需要确保用户只输入英文字符,希伯来字符,数字,空格或新行和当前模式工作非常糟糕。
因此,为了解决这个问题,我需要一个允许上述内容的新模式。
答案 0 :(得分:0)
正则表达式允许您实现它。
基本规则:
[]
这是一个班级。在里面你可以说出你会允许的内容。
+
这意味着至少有一个。
^
这意味着从一开始。
$
这意味着结束。
示例:
^[abc]+$
- 仅允许字符a
,b
和c
从开始到结束。
^[a-z]$
- 从字母开头到结尾都会有字母。
^\w+$
- 允许A-Z
,a-z
,0-9
和_
。
^[\w\s\-]+$
- 将允许上一个示例加上空格和-
跟踪。
这样,你可以说你想要允许什么。
希望它有所帮助。