2012-12-21 20 views
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埃利亞」。第四條規則有效失敗。 有什麼想法?

回答

0

正則表達式是錯誤的。正確的搭配是:

^[A-Za-z ]*$ 
0

輕微改變以前的答案,因爲你想有一個最低的4個字符和30 MAX,你可能要使用這樣的:

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

還要注意,你需要在正則表達式之前和之後使用「/」。和FYI,你的正則表達式是錯誤的,原因有兩個:在字符類中放置「^」,在字符類後面放置缺少的長度限定符(不帶「*」,「+」或括號{}只匹配一個單個字符,更多將失敗)。