cakephp проверяет число, а также плавающее число, не должно разрешать буквенно-цифровые

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

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

пример:

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

12 12.0 12.00 133

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

123_33/#$#%#$%# a1a1455 asd причуды

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

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


person bharanikumar Bs    schedule 27.11.2011    source источник
comment
Вы проверяли онлайн-документацию API или исходный код для числового или денежного класса? Скорее всего, он у них встроен (например, класс инфлектора).   -  person Mike Purcell    schedule 27.11.2011
comment
Числовое значение — это то, что вы хотите   -  person Royalty    schedule 28.04.2016


Ответы (2)


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

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

person aWebDeveloper    schedule 05.12.2011

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

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

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

person Sudhir Bastakoti    schedule 27.11.2011