我有一个带基本字符串的限制类型:
<simpleType name="stringto1">
<restriction base="string">
<pattern value="[АБВГ2134-]"/>
</restriction>
</simpleType>
此类型的字段:
<element maxOccurs="4" minOccurs="1" name="P5" type="tns:stringto1"/>
但我可以在这个领域写出我想要的一切,验证还可以! 并且服务器上存在验证错误。 有什么想法吗?
答案 0 :(得分:2)
-
中的特殊字符regex
用于指定range
,如[a-z]
。如果您想将-
用作简单字符,则必须使用\
作为\-
将其转义,因此请尝试将regex
作为pattern
:
<simpleType name="stringto1">
<restriction base="string">
<pattern value="[АБВГ2134\-]"/>
</restriction>
</simpleType>
另外SOAPUI
没有验证您的xml,因为没有编译您的pattern
,您可以在SOAPUI
日志中看到此信息,其中以下错误消息是显示:
15:57:51,883 WARN [SchemaUtils] Error: ...\wsdl.wsdl: 0: warning: pattern-regex: The regular expression '[????2134-]' is malformed: '-' is an invalid character range. Write '\-'.
请注意????
因为我的字符集编码无法识别АБВГ
个字符,所以我建议将-
作为\-
转义为{{1}}就够了。
希望这有帮助,