如何在文本字段的yii模型规则中仅允许英文字符

时间:2014-09-19 06:56:06

标签: php yii

Yii通过模型规则允许文本字段中的英文字符 怎么可能

只有字符允许使用英语而非印地语,马拉地语或其他语言。 我的模型规则是:

array('description', 'match', 'pattern'=>'/[^0-9a-zA-Z_-]/'), 

当我提交此文本时

Lorem Ipsumफक्तमुद्रणणआण排版उद्योगाच्याबनावटमजकूरआहे。 Lorem存有अज्ञातप्रिंटरप्रकारएकठेंगणेसपाटघेतलाआणिएकप्रकारनमुनापुस्तककरण्यास炒तेव्हाइ.स.चे1500चेदशक,पासूनकधीहीउद्योगच्यामानकबनावटमजकूरकेलेआहे。您可以根据自己的需要进हेLorem存有परिच्छेदअसलेलेLetrasetपत्रकेच्याप्रकाशात1960年मध्येलोकप्रिय,आणिअधिकअलीकडे的Lorem Ipsum.Lorem存有आवृत्त्यासमावेश的Aldus PageMaker的जसेडेस्कटॉपप्रकाशनसॉफ्टवेअरसहफक्तमुद्रणआणि排版उद्योगाच्याबनावटमजकूरआहे。 Lorem Ipsumअज्ञातप्रिंटरप्रकार

给出了这样的例外。

CDbException

CDbCommand failed to execute the SQL statement: SQLSTATE[HY000]: General error: 1366 Incorrect string value: '\xE0\xA4\xAB\xE0\xA4\x95...' for column 'description' at row 1. The SQL statement executed was: UPDATE `mmm_specialoffer` SET `id`=:yp0, `shop_id`=:yp1, `category`=:yp2, `service_id`=:yp3, `title`=:yp4, `description`=:yp5, `offer_from_date`=:yp6, `offer_to_date`=:yp7, `added_date`=:yp8 WHERE `mmm_specialoffer`.`id`=8

 throw new CDbException(Yii::t('yii','CDbCommand failed to execute the SQL statement: {error}',

感谢。

1 个答案:

答案 0 :(得分:0)

这应该这样做 -

/^[0-9a-zA-Z_-\s]*$/i - 只允许使用数字,字母,下划线,连字符和空格。

/^['0-9a-zA-Z_-\s]*$/i - 允许撇号。