Функция обратного вызова проверки формы Codeigniter выдает сообщение об ошибке

У меня есть два поля ввода с ценой продукта и ценой исполнения продукта. В котором цена реализации продукта может быть равна нулю, но не может быть меньше или равна цене продукта. Я создал функцию обратного вызова, но она не работает, она выдает ошибку «Невозможно получить доступ к сообщению об ошибке, соответствующему вашему имени поля. Цена исполнения продукта (price_check)».

Вот функция обратного вызова:

function price_check(){
                $pd_price = intval($this->input->post('product_price'));
                $pd_strikeprice = intval($this->input->post('product_strike_price'));

                if ($pd_strike_price > $pd_price OR $pd_strike_price = 0){
                    return true;
                }else{

                    $this->form_validation->set_message('price_check', 'Product Strike Price can be zero(0) but cannot be less than or equal to Product Price.');
                return false;
                }
            }

И вот проверка формы:

$this->form_validation->set_rules('product_strike_price', 'Product Strike Price', 'trim|required|is_natural|callback_price_check');

Кто-нибудь, пожалуйста, помогите мне в решении проблемы.

функция обратного вызова не определяет синтаксис $this->input->post().

curiosity 10.04.2019 08:29
Стоит ли изучать PHP в 2023-2024 годах?
Стоит ли изучать PHP в 2023-2024 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
0
1
41
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

передайте вход цена продукта вашей функции обратного вызова, как это.

callback_price_check['.$this->input->post('product_price').'] 

это означает, что вы передаете два аргумента в свою функцию обратного вызова, чтобы на следующем шаге все было так.

 public function price_check($pd_strikeprice, $pd_price){
         if ($pd_strike_price > $pd_price || $pd_strike_price = 0){
                 return true;
         }else{

                 $this->form_validation->set_message('price_check', 'Product Strike Price can be zero(0) but cannot be less than or equal to Product Price.');
                 return false;
             }
    }

Пожалуйста, дайте мне знать результат.

установите для него публичную функцию price_check($pd_strikeprice, $pd_price)

curiosity 10.04.2019 10:49

:) Спасибо, приятель, теперь все работает. Я внес небольшие изменения: $pd_strike_price < $pd_price || $pd_strike_price = 0

KUNDAN KUMAR 10.04.2019 10:54

Другие вопросы по теме