cakephp验证号码以及浮点数,不应该允许使用字母数字

时间:2011-11-27 05:02:33

标签: php cakephp-2.0 cakephp-appmodel

如何在cakephp中验证金额,

验证规则:不应该接受空格,不应该是字母数字,不应该接受除点(。)之外的特殊字符,

示例:

应接受以下值

12 12.0 12.00 133

不应接受以下值

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

实际的是,这个字段用于支付网关,所以在向支付网关发送金额之前,我们应该确保,我们正在发送十进制或完整的整数。

信息:在cakephp framkework工作

2 个答案:

答案 0 :(得分: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

答案 1 :(得分:0)

试试这个:

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

希望有所帮助