Codeigniter проверять числа и десятичные числа

Можно ли проверять как числа, так и десятичные значения с помощью класса валидации codeigniter?

Потому что мне нужно дать пользователю ввести либо число, либо десятичное значение. Eg: 10 or 1.5 or 30.45

В классе валидации codeigniter это позволяет либо проверять число, либо десятичное число отдельно.

Может кто-нибудь сказать мне, как можно сделать эту проверку в codeigniter?

1

Решение

<?php

class Form extends CI_Controller
{
public function index()
{
$this->load->helper(array('form', 'url'));

$this->load->library('form_validation');

$this->form_validation->set_rules('weight', 'Weight', 'required|trim|callback_weight_check');

if ($this->form_validation->run() == FALSE) {
$this->load->view('myform');
} else {
$this->load->view('formsuccess');
}
}

public function weight_check($val)
{
if ( !is_int($val) || !is_float($val) ) {
$this->form_validation->set_message('weight_check', 'The {field} field must be number or decimal.');
return FALSE;
} else {
return TRUE;
}
}

}
2

Другие решения

Вы можете попробовать создать свой собственный обратный вызов или использовать правило regex_match, чтобы сделать это следующим образом:

$this->form_validation->set_rules('cost', 'Cost', array('trim','required','min_length[1]','regex_match[/(^\d+|^\d+[.]\d+)+$/]'));

Вы должны использовать массив для установки правил, потому что правило регулярных выражений использует трубу (|).

0

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector