在官網上提供的model為:
1 <field-validator type="regex">
2 <param name="expression">[0-9],[0-9]</param>
3 <message>The value of bar2 must be in the format "x, y", where x and y are between 0 and 9</message>
4 </field-validator>
然而我實踐的時候發現正則驗證不起作用:
1 <field name="username">
2 <field-validator type="requiredstring">
3 <param name="trim">true</param>
4 <message>使用者名不能為空</message>
5 </field-validator>
6 <field-validator type="regex">
7 <param name="expression"><![CDATA[(\w{6,20})]]></param>
8 <message>使用者名長度為6-20個字元</message>
9 </field-validator>
10 </field>
也就是說當使用者名的字元數目不合法的時候沒有錯誤資訊
經過上網查資料得知,正規表達式的param标簽裡面的name應該為regex,而不是expression
呃呃呃,不得不說照着官方文檔寫也有可能出錯啊。。
改為regex後正則驗證就能正常運作了!
小LUA
面對敵人的嚴刑逼供,我一個字也沒說,而是一五一十寫了下來。