CakePHP проверять число, а также плавающее число, не должны разрешать буквенно-цифровой - PullRequest
1 голос
/ 27 ноября 2011

как проверить сумму в cakephp,

правило проверки: не должно принимать пустое пространство, не должно быть буквенно-цифровым, не должно приниматься специальный символ, кроме точки (.),

пример:

должен принимать значения ниже

12 12,0 12,00 133

не должен принимать значения ниже

123_33 / # $ #% # $% # a1a1455 asd fadsfads

Фактически, это поле для платежного шлюза, поэтому перед отправкой суммы на платежный шлюз мы должны убедиться, что отправляем десятичное или полное целое число.

информация: работа в cakephp framkework

Ответы [ 2 ]

2 голосов
/ 05 декабря 2011

Вам нужно будет сделать следующее

http://book.cakephp.org/2.0/en/models/data-validation.html#Validation::money

//2.0
    var $validate = array(
        'salary' => array(
            'rule' => array('money', 'left'),
            'message' => 'Please supply a valid monetary amount.'
        )
    );

Если вы используете 1.3, попробуйте

http://book.cakephp.org/1.3/en/The-Manual/Common-Tasks-With-CakePHP/Data-Validation.html#money

Еслиможно также попробовать десятичную http://book.cakephp.org/1.3/en/The-Manual/Common-Tasks-With-CakePHP/Data-Validation.html#decimal

//2.0
    public $validate = array(
        'price' => array(
            'rule' => array('decimal', 2)
        )
    );

Также рассмотрим числовой http://book.cakephp.org/2.0/en/models/data-validation.html#Validation::numeric

0 голосов
/ 27 ноября 2011

Попробуйте это:

    var $validate = array(
    'amount' => array(
    'rule' => array('decimal', 2)
    )
    );

Надеюсь, это поможет

...