XPages validateConstraint正则表达式在web上的行为奇怪
我有一个输入字段email1,我想用正则表达式进行验证。当我在web上加载xpage时,它会在现有反斜杠的前面加上反斜杠(我想我应该在代码中这样做)。它还用我认为是unicode的东西取代了非字母数字XPages validateConstraint正则表达式在web上的行为奇怪,xpages,lotus-domino,Xpages,Lotus Domino,我有一个输入字段email1,我想用正则表达式进行验证。当我在web上加载xpage时,它会在现有反斜杠的前面加上反斜杠(我想我应该在代码中这样做)。它还用我认为是unicode的东西取代了非字母数字 <xp:td> <xp:inputText value="#{document1.email}" id="email1" required="true" styleClass="form-control"> <xp:this.attrs>
<xp:td>
<xp:inputText value="#{document1.email}" id="email1"
required="true" styleClass="form-control">
<xp:this.attrs>
<xp:attr name="placeholder"
value="Enter your email address">
</xp:attr>
</xp:this.attrs>
<xp:this.validators>
<xp:validateRequired
message="Email is required">
</xp:validateRequired>
<xp:validateConstraint
message="email not valid">
<xp:this.regex><![CDATA[/^([\w-]+(?:\.[\w-]+)*)@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$/i]]></xp:this.regex>
</xp:validateConstraint>
</xp:this.validators>
</xp:inputText>
</xp:td>
我尝试过使用两种形式的正则表达式值,使用静态值和计算值,但都失败了
<xp:td>
<xp:inputText value="#{document1.email}" id="email1"
required="true" styleClass="form-control">
<xp:this.attrs>
<xp:attr name="placeholder"
value="Enter your email address">
</xp:attr>
</xp:this.attrs>
<xp:this.validators>
<xp:validateRequired
message="Email is required">
</xp:validateRequired>
<xp:validateConstraint
message="email not valid">
<xp:this.regex><![CDATA[/^([\w-]+(?:\.[\w-]+)*)@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$/i]]></xp:this.regex>
</xp:validateConstraint>
</xp:this.validators>
</xp:inputText>
</xp:td>
<xp:this.regex><![CDATA[#{javascript:/^([\w-]+(?:\.[\w-]+)*)@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$/i}]]></xp:this.regex>
有人能看出我做错了什么,并给我指出正确的方向吗 删除正则表达式末尾的前导“/”和“/i”。那就行了
<xp:td>
<xp:inputText value="#{document1.email}" id="email1"
required="true" styleClass="form-control">
<xp:this.attrs>
<xp:attr name="placeholder"
value="Enter your email address">
</xp:attr>
</xp:this.attrs>
<xp:this.validators>
<xp:validateRequired
message="Email is required">
</xp:validateRequired>
<xp:validateConstraint
message="email not valid">
<xp:this.regex><![CDATA[/^([\w-]+(?:\.[\w-]+)*)@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$/i]]></xp:this.regex>
</xp:validateConstraint>
</xp:this.validators>
</xp:inputText>
</xp:td>
<xp:this.regex><![CDATA[^([\w-]+(?:\.[\w-]+)*)@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$]]></xp:this.regex>
前导“/”已经包含在内部,不幸的是,像“/i”(不区分大小写的匹配)这样的修饰符似乎不起作用
<xp:td>
<xp:inputText value="#{document1.email}" id="email1"
required="true" styleClass="form-control">
<xp:this.attrs>
<xp:attr name="placeholder"
value="Enter your email address">
</xp:attr>
</xp:this.attrs>
<xp:this.validators>
<xp:validateRequired
message="Email is required">
</xp:validateRequired>
<xp:validateConstraint
message="email not valid">
<xp:this.regex><![CDATA[/^([\w-]+(?:\.[\w-]+)*)@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$/i]]></xp:this.regex>
</xp:validateConstraint>
</xp:this.validators>
</xp:inputText>
</xp:td>
不要担心渲染JavaScript代码中的双反斜杠和unicode字符。JavaScript将它们解释为一个反斜杠和原始字符
<xp:td>
<xp:inputText value="#{document1.email}" id="email1"
required="true" styleClass="form-control">
<xp:this.attrs>
<xp:attr name="placeholder"
value="Enter your email address">
</xp:attr>
</xp:this.attrs>
<xp:this.validators>
<xp:validateRequired
message="Email is required">
</xp:validateRequired>
<xp:validateConstraint
message="email not valid">
<xp:this.regex><![CDATA[/^([\w-]+(?:\.[\w-]+)*)@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$/i]]></xp:this.regex>
</xp:validateConstraint>
</xp:this.validators>
</xp:inputText>
</xp:td>