PDA

View Full Version : تغیر پیغام های خطا در valdation



desatir7316
یک شنبه 10 فروردین 1393, 19:37 عصر
سلام
پیغام های خطای rule ها رو به شکل زیر تغییر دادم ، ولی نمی دونم چرا اون آخری اصلا کار نمی کنه، یعنی پیغام پیش فرض خودشو بازم نشون می ده:



array('name, email', 'length', 'max'=>255,'message'=>'{attribute} حداکثر می تواند 255 کاراکتر باشد.'),
array('postal_code', 'length','min'=>10, 'max'=>10, 'message'=>'{attribute} کدپستی دقیقا باید 10 رقم باشد.'),
array('postal_code','numerical','integerOnly'=>true,'message'=>'{attribute} باید یک عدد باشد.'),



راستی فایلی نیست که توش همه پیغام هارو تغییر بدیم که دیگه توی هر تابع rule مجبور نباشیم این کار رو کنیم؟

bestirani2
یک شنبه 10 فروردین 1393, 19:49 عصر
tru e فاصله افتاده. احتمال بخاطر همینه.
داخل فایل تنظیمات


'coreMessages' => array( 'basePath' => 'protected/messages', ),
رو اضافه کنید. بعد فایلهای زبان فریم ورک رو کپی کنید توی messages و پیغام هاش رو به دلخواهتون ویرایش کنید.

desatir7316
یک شنبه 10 فروردین 1393, 19:50 عصر
پیدا شد، با جای message باید از tooShort استفاده کرد:

array('postal_code', 'length','min'=>10, 'max'=>10, 'tooShort'=>'{attribute} کدپستی دقیقا باید 10 رقم باشد.'),

desatir7316
یک شنبه 10 فروردین 1393, 19:53 عصر
tru e فاصله افتاده. احتمال لخاطر همینه.

نه اینجا اینجوری نشون می ده، از اون نیست

desatir7316
یک شنبه 10 فروردین 1393, 19:57 عصر
بعد فایلهای زبان فریم ورک رو کپی کنید توی
messages و پیغام هاش رو به دلخواهتون ویرایش کنید.
بعنی چی؟ کدوم فایل هاست
آدرسشون چیه؟

desatir7316
یک شنبه 10 فروردین 1393, 20:08 عصر
یه فایل توی Yii\framework\messages\fa_ir\yii.php پیدا کردم که توش یه عالمه پیغام خطا داره
باید از این استفاده کنم؟ چجوری؟

desatir7316
یک شنبه 10 فروردین 1393, 20:33 عصر
بعنی چی؟ کدوم فایل هاست
آدرسشون چیه؟


یه فایل توی Yii\framework\messages\fa_ir\yii.php پیدا کردم که توش یه عالمه پیغام خطا داره
باید از این استفاده کنم؟ چجوری؟

از این لینک زیر استفاده کردم ولی بازم هیچ تغییری نکرد:متفکر:
لینک (http://www.yiiframework.com/wiki/243/how-to-translate-and-do-the-translations-the-easy-way/#hh4)

MMSHFE
یک شنبه 10 فروردین 1393, 23:29 عصر
ببینید، اول توی protected یک پوشه messages بسازین و بعد کل پوشه fa_ir رو از مسیر yii/framework/messages توی اون پوشه که ساختین کپی کنید. بعد توی تنظیمات main.php این موارد رو انجام بدین:


...
'language' => 'fa_ir',
...
'components'=>array(
'coreMessages' => array(
'basePath'=>null,
),
...
...
اگه این تنظیمات کامپوننت coreMessages رو انجام ندین و basePath رو null نکنید، هرچقدر هم فایلهای پوشه messages خودتون رو تغییر بدین فایده نداره چون برنامه شما داره از توی پوشه خود Yii پیغامها رو میخونه.

bestirani2
دوشنبه 11 فروردین 1393, 15:21 عصر
از این لینک زیر استفاده کردم ولی بازم هیچ تغییری نکرد:متفکر:
لینک (http://www.yiiframework.com/wiki/243/how-to-translate-and-do-the-translations-the-easy-way/#hh4)
'basePath' رو برابر با آدرسی که فایل ها رو کپی کردید قرار دادید؟


'basePath' => 'protected/messages'

یعنی یه پوشه messages باید توی پوشه protected داشته باشید که داخل یک فولدر جدید به نام زبان مورد نظر ایجاد کنید و فایل ها رو اونجا قرار بدید.