ユーザーがパターン####-##-###-####に文字または数字を入力したかどうかをテストしたい
私の式は^(\ w){4}-(\ w){2}-(\ w){3}-(\ w){4} $で、オンラインテスターでは機能するようですが、validateExpressionでは機能しません。
何か案は?
これが私のコードです(getComponentValyeは値を取得するための私自身の関数です)...
<xp:inputText id="nsn" value="#{ddsURFQCI.NSN}">
<xp:this.validators>
<xp:validateExpression>
<xp:this.expression><![CDATA[#{javascript:getComponentValue("nsn").match(new RegExp("^(\w){4}-(\w){2}-(\w){3}-(\w){4}$", "i"))}]]></xp:this.expression>
<xp:this.message><![CDATA[#{javascript:"NSN must match the pattern ####-##-###-####. (" + getComponentValue("nsn") + ")"}]]></xp:this.message>
</xp:validateExpression>
</xp:this.validators>
</xp:inputText>
<xp:message id="message1" styleClass="error" for="nsn"></xp:message>