0

我正在开发一个 CRUD 应用程序。我使用 Propel 作为 ORM,并在 schema.xml 中添加了验证规则。但这,不能正常工作。例如,我发送一个包含用户姓氏的字符串,验证器是:

<rule name='minLength' value='4'/>
<rule name='maxLength' value='30'/>
<rule name='notMatch' value='/^\s+$/' />
<!-- the name can be only chars and spaces -->
<rule name='match' value='/[^A-Za-z ]$/'/>

发送的用户姓氏是:“Martinez D Elia”。第四条规则有效失败。任何的想法 ?。

4

2 回答 2

0

正则表达式是错误的。正确的匹配是:

^[A-Za-z ]*$
于 2012-12-22T18:54:52.103 回答
0

对上一个答案稍作更改,因为您需要最少 4 个字符和最多 30 个字符,您可能需要使用这个:

/^[A-Za-z ]{4,30}$/

另请注意,您确实需要正则表达式前后的“/”。仅供参考,您的正则表达式错误有两个原因:在字符类中放置“^”以及在字符类之后缺少长度限定符(没有“*”、“+”或括号 {},您只匹配一个字符,再匹配会失败)。

于 2013-01-07T23:00:36.807 回答