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

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

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

пример:

трябва да приеме по-долу стойности

12 12.0 12.00 133

не трябва да приема по-ниски стойности

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

действителното нещо е това поле за платежен портал, така че преди да изпратим сума към платежния портал, трябва да се уверим, че изпращаме десетично или пълно цяло число.

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


person bharanikumar Bs    schedule 27.11.2011    source източник
comment
Проверихте ли онлайн API документи или изходен код за числов или валутен клас? Вероятно го имат вграден (т.е. инфлекторен клас).   -  person Mike Purcell    schedule 27.11.2011
comment
Numeric е това, което искате   -  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)
        )
    );

Също така вземете предвид Numeric 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