زمان جاری: 2012/02/23, 03:30 PM خوش آمدید مهمان گرامی! (ورودعضویت)



اعتبار سنجی در زبان فارسی


ارسال موضوع  ارسال پاسخ 
  • 1 رای - 3 میانگین
  • 1
  • 2
  • 3
  • 4
  • 5
رتبه موضوع:
 
اعتبار سنجی در زبان فارسی
نویسنده پیام
786ali آفلاین
عضو نیمه حرفه ای
**

ارسال‌ها: 56
تاریخ عضویت: Jul 2011
رتبه: 0
تشکر: 37
9 بار تشکر شده در 4 پست
ارسال: #1
Question اعتبار سنجی در زبان فارسی
سلام
متاسفانه اعتبار سنجی (validate) در مدل هنگامی که کاراکتر ها فارسی باشد درست کار نمی کند ، آیا راه حلی برای این مشکل وجود دارد ؟
2012/01/03 10:28 PM
یافتن تمامی ارسال‌های این کاربر نقل قول این ارسال در پاسخ
saleh آفلاین
Administrator
*******

ارسال‌ها: 694
تاریخ عضویت: Dec 2009
رتبه: 9
تشکر: 259
501 بار تشکر شده در 373 پست
ارسال: #2
RE: اعتبار سنجی در زبان فارسی
با چه رولی مشکل دارید؟ و در چه ورژن
2012/01/03 10:42 PM
مشاهده سایت کاربر یافتن تمامی ارسال‌های این کاربر نقل قول این ارسال در پاسخ
786ali آفلاین
عضو نیمه حرفه ای
**

ارسال‌ها: 56
تاریخ عضویت: Jul 2011
رتبه: 0
تشکر: 37
9 بار تشکر شده در 4 پست
ارسال: #3
RE: اعتبار سنجی در زبان فارسی
alphaNumeric و چند تابع دیگر
ورژن 1.3
2012/01/03 10:47 PM
یافتن تمامی ارسال‌های این کاربر نقل قول این ارسال در پاسخ
saleh آفلاین
Administrator
*******

ارسال‌ها: 694
تاریخ عضویت: Dec 2009
رتبه: 9
تشکر: 259
501 بار تشکر شده در 373 پست
ارسال: #4
RE: اعتبار سنجی در زبان فارسی
مشخص هست که اینها نباید فارسی رو ساپورت کنه.
شما برای اینکار باید اعتبار سنجی سفارسی استفاده کنید. در داکیومنت کاملا توضیح داده شده
2012/01/04 10:13 PM
مشاهده سایت کاربر یافتن تمامی ارسال‌های این کاربر نقل قول این ارسال در پاسخ
 تشکر شده توسط : payamsp
786ali آفلاین
عضو نیمه حرفه ای
**

ارسال‌ها: 56
تاریخ عضویت: Jul 2011
رتبه: 0
تشکر: 37
9 بار تشکر شده در 4 پست
ارسال: #5
Exclamation RE: اعتبار سنجی در زبان فارسی
(2012/01/04 10:13 PM)saleh نوشته است:  مشخص هست که اینها نباید فارسی رو ساپورت کنه.
شما برای اینکار باید اعتبار سنجی سفارسی استفاده کنید. در داکیومنت کاملا توضیح داده شده

با تشکر از پاسخ شما ، متاسفانه بنده نتوانستم برای زبان فارسی این کار را بکنم ، آیا شما تجربه ای در این زمینه دارید که مثالی بزنید ؟
2012/01/07 11:56 AM
یافتن تمامی ارسال‌های این کاربر نقل قول این ارسال در پاسخ
saleh آفلاین
Administrator
*******

ارسال‌ها: 694
تاریخ عضویت: Dec 2009
رتبه: 9
تشکر: 259
501 بار تشکر شده در 373 پست
ارسال: #6
RE: اعتبار سنجی در زبان فارسی
متاسفانه ذکر نکردید چه مشکلی با فارسی و برای چه کاربردی نیاز دارید؟!

اگر برای تشخیص حروف هست .باید از عبارت های منطقی استفاده کنید .(regular expression)

نحوه اضافه کردن رول سفارسی هم مطابق این لینک هست.
کد:
http://book.cakephp.org/2.0/en/models/data-validation.html#custom-validation-rules
شما باید ساختار که محتوای فیلد رو چک کنه رو در این تابع پیاده سازی کنید. آگر صحیح بود TRUE برگردانید و اگر اشتباه بود FALSE

کد PHP:
<?php
class Post extends AppModel {
    public 
$name 'Post';

    public 
$validate = array(
        
'slug' => array(
            
'rule'    => 'alphaNumericDashUnderscore',
            
'message' => 'Slug can only be letters, numbers, dash and underscore'
        
)
    );

    function 
alphaNumericDashUnderscore($check) {
        
// $data array is passed using the form field name as the key
        // have to extract the value to make the function generic
        
$value array_values($check);
        
$value $value[0];

        return 
preg_match('|^[0-9a-zA-Z_-]*$|'$value);
    }

2012/01/07 01:06 PM
مشاهده سایت کاربر یافتن تمامی ارسال‌های این کاربر نقل قول این ارسال در پاسخ
 تشکر شده توسط : 786ali
payamsp آفلاین
تازه کار
*

ارسال‌ها: 41
تاریخ عضویت: Mar 2010
رتبه: 1
تشکر: 211
37 بار تشکر شده در 22 پست
ارسال: #7
RE: اعتبار سنجی در زبان فارسی
برای تعریف اعتبار سنجی اختصاصی rule ی که برای فیلد مورد نظرتون تعریف می کنید اسم یک متد هست که شما توی اون Model مورد نظر ، تعریف می کنید

برای مثال :
کد PHP:
$validate=array(
    
'name'=>array(
        
'rule'=>'checkName',
        
'message'=>'مقدار نام معتبر نیست'
    
)
);

public function 
checkName($check)
{
    if(empty(
$check['name']))
    {
        return 
false;
    }
    return 
true;

توی مستندات خود کیک این مباحث خیلی واضح تر و کامل تر عنوان شده .

برای بحث فارسی بودن هم استفاده از regex میتونه کمکتون کنه .
(آخرین تغییر در این ارسال: 2012/01/07 01:41 PM توسط payamsp.)
2012/01/07 01:40 PM
یافتن تمامی ارسال‌های این کاربر نقل قول این ارسال در پاسخ
 تشکر شده توسط : saleh 786ali
ارسال موضوع  ارسال پاسخ 


پرش در انجمن: