如何在cakephp中验证金额,
验证规则:不应该接受空格,不应该是字母数字,不应该接受除点(。)之外的特殊字符,
示例:
应接受以下值
12 12.0 12.00 133
不应接受以下值
123_33 /#$#%#$%# a1a1455 ASD fadsfads
实际的是,这个字段用于支付网关,所以在向支付网关发送金额之前,我们应该确保,我们正在发送十进制或完整的整数。
信息:在cakephp framkework工作
答案 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) ) );
希望有所帮助