اعتبارسنجی با php

PHP -
2 هفته پیش
توسط سبحان دادخواه آپدیت شد
Davood ( 19270 تجربه )
2 هفته پیش
تخصص : کارآموز PHP

سلام
من دارم از این پکیج استفاده میکنم برای اعبار سنجی داده هام

Rakit Validation

داخل متد insert خبر به عنوان مثال میخوام ازش استفاده کنم

public function insert()
    {
        $cat = $this->Post->cat();
        $city = $this->Post->city();
        $user = $this->Post->getUser();
        if ($_SERVER['REQUEST_METHOD'] == "POST" and isset($_POST['send'])) {
            $img = $_FILES['pic'];
            $img = $this->uploadFile($img, 'news');

            $validation = $this->validator->validate($_POST,[
                'titr'=>'required',
                'body'=>'required'
            ]);

            if($validation->fails()){
                $errors = $validation->errors();
                $errors = $errors->firstOfAll();
}          
                $this->Post->addNews($_POST, $img);
                header("location:list");

        }
        return View::renderTemplate('admin.news.insert', ["cat" => $cat,"user"=>$user,"city"=>$city]);
    }

اون $errors رو وقتی print_rمیکنم تو کنترلر کامل درست کار میکنه
ولی من میخوام این آرایه ارور رو بفرستم به ویو بالای فرم نمایش بدم اما نمیدونم چطوری
لطفا کمکم کنید

@hesammousavi

بهترین پاسخ انتخاب شده توسط Davood
حسام موسوی
2 هفته پیش

خوب مشخصه دیگه دوست من
در کد زیر

            if($validation->fails()){
                $errors = $validation->errors();
                $errors = $errors->firstOfAll();
}

شما ارورها رو میگیری . خوب باید به همراه renderTemplate ارسال بفرمایی error رو به ویو خودتون .
البته چون errors فقط اونجا مقدار دهی میشه باید قبلش مثلا مقدار errors رو برابر null قرار بدید که اگر اروری بود مقدار دهی بشه
اینطوری در ویو هم میتونید چک کنید اگر null نبود ارورها نشون داده بشن

حسام موسوی ( 291314 تجربه )
2 هفته پیش
تخصص : طراح و برنامه نویس

خوب مشخصه دیگه دوست من
در کد زیر

            if($validation->fails()){
                $errors = $validation->errors();
                $errors = $errors->firstOfAll();
}

شما ارورها رو میگیری . خوب باید به همراه renderTemplate ارسال بفرمایی error رو به ویو خودتون .
البته چون errors فقط اونجا مقدار دهی میشه باید قبلش مثلا مقدار errors رو برابر null قرار بدید که اگر اروری بود مقدار دهی بشه
اینطوری در ویو هم میتونید چک کنید اگر null نبود ارورها نشون داده بشن

Davood ( 19270 تجربه )
2 هفته پیش
تخصص : کارآموز PHP

ببخشید یه سوال دیگه اینا رو نمیشه فارسی کرد؟؟؟؟

پیغام ارورش میاد مثلا من دو تا ارور دارم

میگه فیلد title را پر کنید
فیلد body را پر کنید

من نمیخوام title و body بنویسم
میخوام مثلا باشه عنوان خبر و متن خبر

@hesammousavi

سبحان دادخواه ( 954 تجربه )
2 هفته پیش

سلام . شمما فقط کافیه این مسیر رو دنبال کنید :

resources->lang->fa->validation.php  

و داخل این فایل که ارور های فارسی هست attributes یک آرایس که مقادیر input name هارو میگیره . مثلا برای اینکه نام یک اینپوت رو فارسی کنید اینطوری عمل کنید :

 'attributes' => array(
"title" => "عنوان"
)

به همین صورت میتونید برای نام هایی که برای اینپوت هاتون انتخاب میکنید فارسی سازیشون کنید.
اما خوب این حالت گلوبال هست یعنی برای تمامی اینپوت هایی با نام title ارور "عنوان را وارد کنید" رو نشون میده. اینکه برای هر اینپوت توی هر صفحه ارور یونیک بذارید رو هنوز نرفتم دنبالش . انشالا اساتید هم شما و هم منو راهنمایی میکنن تو این مورد
موفق باشید
@dfardabasi

برای ارسال پاسخ باید وارد سایت شوید